node-opcua-address-space-base 2.163.1 → 2.165.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.
- package/dist/address_space.d.ts +19 -1
- package/dist/clone_helper.d.ts +3 -1
- package/dist/clone_helper.js +13 -13
- package/dist/clone_helper.js.map +1 -1
- package/dist/session_context.d.ts +23 -2
- package/package.json +16 -16
- package/source/address_space.ts +28 -1
- package/source/clone_helper.ts +14 -14
- package/source/session_context.ts +33 -2
package/dist/address_space.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ExtensionObject } from "node-opcua-extension-object";
|
|
2
2
|
import { NodeId, NodeIdLike } from "node-opcua-nodeid";
|
|
3
3
|
import { AnyConstructorFunc } from "node-opcua-schemas";
|
|
4
|
+
import { StatusCode } from "node-opcua-status-code";
|
|
4
5
|
import { BrowseDescription, BrowsePath, BrowsePathResult, BrowseResult } from "node-opcua-types";
|
|
5
|
-
import { DataType, VariantByteString } from "node-opcua-variant";
|
|
6
|
+
import { DataType, Variant, VariantByteString } from "node-opcua-variant";
|
|
6
7
|
import { AddReferenceOpts, BaseNode } from "./base_node";
|
|
7
8
|
import { INamespace } from "./namespace";
|
|
8
9
|
import { ISessionContext } from "./session_context";
|
|
@@ -18,6 +19,12 @@ import { IHistoricalDataNodeOptions, UAVariable } from "./ua_variable";
|
|
|
18
19
|
import { UAVariableType } from "./ua_variable_type";
|
|
19
20
|
import { UAView } from "./ua_view";
|
|
20
21
|
export type ShutdownTask = ((this: IAddressSpace) => void) | ((this: IAddressSpace) => Promise<void>);
|
|
22
|
+
/**
|
|
23
|
+
* A method call interceptor is invoked before every UAMethod.execute() call.
|
|
24
|
+
* Return `StatusCodes.Good` to allow the call, or any other StatusCode to reject it.
|
|
25
|
+
* The interceptor may be synchronous or asynchronous.
|
|
26
|
+
*/
|
|
27
|
+
export type MethodCallInterceptor = (context: ISessionContext, object: UAObject | UAObjectType | null, method: UAMethod, inputArguments: Variant[]) => StatusCode | Promise<StatusCode>;
|
|
21
28
|
interface UARootFolder_Objects extends UAObject {
|
|
22
29
|
server: UAObject;
|
|
23
30
|
}
|
|
@@ -170,5 +177,16 @@ export interface IAddressSpace {
|
|
|
170
177
|
* EventId is generated by the Server to uniquely identify a particular Event Notification.
|
|
171
178
|
*/
|
|
172
179
|
generateEventId(): VariantByteString;
|
|
180
|
+
/**
|
|
181
|
+
* Register a method call interceptor.
|
|
182
|
+
* Interceptors are called sequentially before each UAMethod.execute().
|
|
183
|
+
* If any interceptor returns a non-Good StatusCode, the method call
|
|
184
|
+
* is rejected and subsequent interceptors are skipped.
|
|
185
|
+
*/
|
|
186
|
+
addMethodCallInterceptor(interceptor: MethodCallInterceptor): void;
|
|
187
|
+
/**
|
|
188
|
+
* Remove a previously registered method call interceptor.
|
|
189
|
+
*/
|
|
190
|
+
removeMethodCallInterceptor(interceptor: MethodCallInterceptor): void;
|
|
173
191
|
}
|
|
174
192
|
export {};
|
package/dist/clone_helper.d.ts
CHANGED
|
@@ -4,7 +4,9 @@ import { UAMethod } from "./ua_method";
|
|
|
4
4
|
import { UAObjectType } from "./ua_object_type";
|
|
5
5
|
import { UAVariableType } from "./ua_variable_type";
|
|
6
6
|
import { BaseNode } from "./base_node";
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
8
10
|
export declare function fullPath(node: BaseNode): string;
|
|
9
11
|
/** @private */
|
|
10
12
|
export declare function fullPath2(node: BaseNode): string;
|
package/dist/clone_helper.js
CHANGED
|
@@ -15,8 +15,10 @@ const warningLog = (0, node_opcua_debug_1.make_warningLog)("CLONE");
|
|
|
15
15
|
const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
|
|
16
16
|
const doTrace = (0, node_opcua_debug_1.checkDebugFlag)("INSTANTIATE");
|
|
17
17
|
const traceLog = errorLog;
|
|
18
|
-
|
|
19
|
-
/**
|
|
18
|
+
/* c8 ignore start */
|
|
19
|
+
/**
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
20
22
|
function fullPath(node) {
|
|
21
23
|
const browseName = node.browseName.toString();
|
|
22
24
|
const parent = node.findReferencesExAsObject("Aggregates", node_opcua_data_model_1.BrowseDirection.Inverse)[0];
|
|
@@ -29,12 +31,10 @@ function fullPath(node) {
|
|
|
29
31
|
}
|
|
30
32
|
return browseName;
|
|
31
33
|
}
|
|
32
|
-
// istanbul ignore next
|
|
33
34
|
/** @private */
|
|
34
35
|
function fullPath2(node) {
|
|
35
36
|
return fullPath(node) + " (" + node.nodeId.toString() + ")";
|
|
36
37
|
}
|
|
37
|
-
// istanbul ignore next
|
|
38
38
|
/** @private */
|
|
39
39
|
function exploreNode(node) {
|
|
40
40
|
const f = (n) => {
|
|
@@ -108,7 +108,7 @@ function _get_parent_type_and_path(originalObject) {
|
|
|
108
108
|
}
|
|
109
109
|
const addressSpace = originalObject.addressSpace;
|
|
110
110
|
const parents = originalObject.findReferencesEx("HasChild", node_opcua_data_model_1.BrowseDirection.Inverse);
|
|
111
|
-
//
|
|
111
|
+
// c8 ignore next
|
|
112
112
|
if (parents.length > 1) {
|
|
113
113
|
warningLog(" object ", originalObject.browseName.toString(), " has more than one parent !");
|
|
114
114
|
warningLog(originalObject.toString());
|
|
@@ -161,11 +161,11 @@ class CloneHelper {
|
|
|
161
161
|
return result;
|
|
162
162
|
}
|
|
163
163
|
pushContext({ clonedParent, originalParent }) {
|
|
164
|
-
//
|
|
164
|
+
// c8 ignore next
|
|
165
165
|
doTrace &&
|
|
166
166
|
traceLog("push context: ", "original parent = ", fullPath2(originalParent), "cloned parent =", fullPath2(clonedParent));
|
|
167
167
|
const typeInstance = originalParent.nodeId.toString() + clonedParent.nodeId.toString();
|
|
168
|
-
//
|
|
168
|
+
// c8 ignore next
|
|
169
169
|
doTrace && traceLog("typeInstance (1) = ", typeInstance, fullPath2(originalParent), fullPath2(clonedParent));
|
|
170
170
|
let a = this.mapTypeInstanceChildren.get(typeInstance);
|
|
171
171
|
if (a) {
|
|
@@ -186,7 +186,7 @@ class CloneHelper {
|
|
|
186
186
|
if (!this._context) {
|
|
187
187
|
this.pushContext({ clonedParent: clonedNode, originalParent: originalNode });
|
|
188
188
|
}
|
|
189
|
-
//
|
|
189
|
+
// c8 ignore next
|
|
190
190
|
doTrace &&
|
|
191
191
|
traceLog("registerClonedObject", "originalNode = ", fullPath2(originalNode), "clonedNode =", fullPath2(clonedNode));
|
|
192
192
|
const insertShadow = (map) => {
|
|
@@ -196,7 +196,7 @@ class CloneHelper {
|
|
|
196
196
|
while (base) {
|
|
197
197
|
const shadowChild = followPath(base, path);
|
|
198
198
|
if (shadowChild) {
|
|
199
|
-
//
|
|
199
|
+
// c8 ignore next
|
|
200
200
|
doTrace && traceLog("shadowChild = ", fullPath2(shadowChild));
|
|
201
201
|
map.set(shadowChild.nodeId.toString(), {
|
|
202
202
|
cloned: clonedNode,
|
|
@@ -228,7 +228,7 @@ class CloneHelper {
|
|
|
228
228
|
// °-> Folder (C) [parentNode] +-> Folder (C') <= [clonedParent]
|
|
229
229
|
// | |
|
|
230
230
|
// +- Component (B again !) [originalNode] +- Component (B again !)
|
|
231
|
-
//
|
|
231
|
+
// c8 ignore next
|
|
232
232
|
doTrace &&
|
|
233
233
|
traceLog("typeInstance (3) = originalParent", fullPath2(originalParent), "originalNode=", fullPath2(originalNode), "clonedParent", fullPath2(clonedParent));
|
|
234
234
|
const info = this._context.get(originalNode.nodeId.toString());
|
|
@@ -287,7 +287,7 @@ function reconstructNonHierarchicalReferences(extraInfo) {
|
|
|
287
287
|
// navigate through original objects to find those that are being references by node that
|
|
288
288
|
// have been cloned .
|
|
289
289
|
// this could be node organized by some FunctionalGroup
|
|
290
|
-
//
|
|
290
|
+
// c8 ignore next
|
|
291
291
|
doTrace && traceLog("reconstructNonHierarchicalReferences");
|
|
292
292
|
for (const { original, cloned } of cloneInfoArray) {
|
|
293
293
|
apply(original, cloned);
|
|
@@ -299,7 +299,7 @@ function reconstructNonHierarchicalReferences(extraInfo) {
|
|
|
299
299
|
if (originalNonHierarchical.length === 0) {
|
|
300
300
|
return;
|
|
301
301
|
}
|
|
302
|
-
//
|
|
302
|
+
// c8 ignore next
|
|
303
303
|
doTrace && traceLog(" investigation ", "original", fullPath2(original), node_opcua_data_model_1.NodeClass[cloned.nodeClass], fullPath2(cloned));
|
|
304
304
|
for (const ref of originalNonHierarchical) {
|
|
305
305
|
const info = findImplementedObject(cloneInfoArray, ref);
|
|
@@ -308,7 +308,7 @@ function reconstructNonHierarchicalReferences(extraInfo) {
|
|
|
308
308
|
// if the object pointed by this reference is also cloned ...
|
|
309
309
|
const originalDest = info.original;
|
|
310
310
|
const cloneDest = info.cloned;
|
|
311
|
-
//
|
|
311
|
+
// c8 ignore next
|
|
312
312
|
doTrace &&
|
|
313
313
|
traceLog(" adding reference ", fullPath2(addressSpace.findNode(ref.referenceType)), " from cloned ", fullPath2(cloned), " to cloned ", fullPath2(cloneDest));
|
|
314
314
|
// restore reference
|
package/dist/clone_helper.js.map
CHANGED
|
@@ -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":";;;AA0BA,4BAYC;AAED,8BAEC;AAED,kCAiCC;AA6RD,oFAsDC;AAqBD,wEAuCC;AA5dD,yDAA2C;AAC3C,uDAAiG;AACjG,iEAAkF;AAClF,yDAA2D;AAC3D,+DAAwD;AAUxD,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,OAAO,CAAC,CAAC;AAE5C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,aAAa,CAAC,CAAC;AAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAI1B,qBAAqB;AACrB;;GAEG;AACH,SAAgB,QAAQ,CAAC,IAAc;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC;IAC/C,CAAC;IACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC,gBAAgB,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC;IACzD,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AACD,eAAe;AACf,SAAgB,SAAS,CAAC,IAAc;IACpC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;AAChE,CAAC;AACD,eAAe;AACf,SAAgB,WAAW,CAAC,IAAc;IACtC,MAAM,CAAC,GAAG,CAAC,CAAW,EAAE,EAAE;QACtB,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClH,CAAC,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,CAAM,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;QACpD,OAAO,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,GAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrE,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,CAAC,IAAc,EAAE,GAAW,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;QAEtE,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtD,QAAQ,CACJ,GAAG,EACH,QAAQ,EACR,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAC/B,KAAK,EACL,CAAC,CAAC,GAAG,CAAC,IAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EACvB,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAC7C,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACjB,SAAS;YACb,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,QAAQ,CAAC,GAAG,CAAC,IAAK,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1B,CAAC;AACD,EAAE;AACF,WAAW;AACX,oCAAoC;AACpC,qCAAqC;AACrC,oCAAoC;AACpC,0BAA0B;AAC1B,mFAAmF;AACnF,iBAAiB;AACjB,oCAAoC;AACpC,oCAAoC;AACpC,oCAAoC;AACpC,iBAAiB;AACjB,oEAAoE;AACpE,EAAE;AACF,4DAA4D;AAC5D,8BAA8B;AAE9B,UAAU;AACV,EAAE;AACF,oCAAoC;AACpC,mCAAmC;AACnC,oCAAoC;AACpC,0BAA0B;AAC1B,6CAA6C;AAC7C,6CAA6C;AAC7C,6CAA6C;AAC7C,uCAAuC;AACvC,yFAAyF;AACzF,iBAAiB;AACjB,oCAAoC;AACpC,6BAA6B;AAC7B,oCAAoC;AACpC,iBAAiB;AACjB,6CAA6C;AAC7C,6CAA6C;AAC7C,6CAA6C;AAC7C,uCAAuC;AACvC,sEAAsE;AACtE,EAAE;AACF,4DAA4D;AAE5D,SAAS,yBAAyB,CAAC,cAAwB;IAIvD,IAAI,cAAc,CAAC,SAAS,KAAK,iCAAS,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;IAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAAC,UAAU,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;IACrF,iBAAiB;IACjB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,6BAA6B,CAAC,CAAC;QAC5F,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,IAAA,0BAAM,EAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,CAAE,CAAC;IAC7D,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,iCAAS,CAAC,YAAY,IAAI,SAAS,CAAC,SAAS,KAAK,iCAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAChH,OAAO,EAAE,UAAU,EAAE,SAA0C,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;IACzG,CAAC;IACD,UAAU;IACV,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,yBAAyB,CAAC,SAAU,CAAC,CAAC;IACnE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;AACtE,CAAC;AAQD,SAAS,UAAU,CAAC,IAAc,EAAE,IAAqB;IACrD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,OAAO;aACd,wBAAwB,CAAC,wBAAwB,EAAE,uCAAe,CAAC,OAAO,CAAC;aAC3E,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,GAAG,CAAC;IAClB,CAAC;IACD,OAAO,OAAqB,CAAC;AACjC,CAAC;AAID,MAAa,WAAW;IACb,KAAK,GAAG,CAAC,CAAC;IACT,QAAQ,GAAmB,IAAI,CAAC;IAChC,aAAa,GAAc,EAAE,CAAC;IACrB,uBAAuB,GAAwC,IAAI,GAAG,EAAE,CAAC;IACnF,GAAG;QACN,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAEM,cAAc;QACjB,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,WAAW,CAGhB,EAAE,YAAY,EAAE,cAAc,EAA4C;QACxE,iBAAiB;QACjB,OAAO;YACH,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5H,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEvF,iBAAiB;QACjB,OAAO,IAAI,QAAQ,CAAC,qBAAqB,EAAE,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAE7G,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC;QACD,CAAC,GAAG,IAAI,GAAG,EAAqB,CAAC;QACjC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAElD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IACM,UAAU;QACb,IAAA,0BAAM,EAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAG,CAAC;IAC9C,CAAC;IACM,oBAAoB,CAGzB,EAAE,UAAU,EAAE,YAAY,EAAwC;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,iBAAiB;QACjB,OAAO;YACH,QAAQ,CAAC,sBAAsB,EAAE,iBAAiB,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAExH,MAAM,YAAY,GAAG,CAAC,GAA2B,EAAE,EAAE;YACjD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAErE,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC;gBACnC,OAAO,IAAI,EAAE,CAAC;oBACV,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC3C,IAAI,WAAW,EAAE,CAAC;wBACd,iBAAiB;wBACjB,OAAO,IAAI,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;wBAC9D,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;4BACnC,MAAM,EAAE,UAAU;4BAClB,QAAQ,EAAE,WAAW;yBACxB,CAAC,CAAC;oBACP,CAAC;oBACD,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC7B,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QACF,iBAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QACD,mCAAmC;QACnC,kEAAkE;QAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YAC9C,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,YAAY;SACzB,CAAC,CAAC;QACH,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACM,SAAS,CAAC,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EAKf;QACG,EAAE;QACF,iEAAiE;QACjE,4EAA4E;QAC5E,oEAAoE;QACpE,oFAAoF;QACpF,uGAAuG;QACvG,oEAAoE;QACpE,2FAA2F;QAE3F,iBAAiB;QACjB,OAAO;YACH,QAAQ,CACJ,mCAAmC,EACnC,SAAS,CAAC,cAAc,CAAC,EACzB,eAAe,EACf,SAAS,CAAC,YAAY,CAAC,EACvB,cAAc,EACd,SAAS,CAAC,YAAY,CAAC,CAC1B,CAAC;QAEN,MAAM,IAAI,GAAG,IAAI,CAAC,QAAS,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA9HD,kCA8HC;AAED,MAAM,uBAAuB,GAAG,IAAA,8BAAU,EAAC,uCAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC/E,MAAM,sBAAsB,GAAG,IAAA,8BAAU,EAAC,uCAAgB,CAAC,gBAAgB,CAAC,CAAC;AAE7E;;;GAGG;AACH,SAAS,oBAAoB,CAAC,UAAyB;IACnD,iEAAiE;IACjE,UAAU,GAAG,UAAU,CAAC,MAAM,CAC1B,CAAC,SAAsB,EAAE,EAAE,CACvB,CAAC,IAAA,8BAAU,EAAC,SAAS,CAAC,aAAa,EAAE,uBAAuB,CAAC;QAC7D,CAAC,IAAA,8BAAU,EAAC,SAAS,CAAC,aAAa,EAAE,sBAAsB,CAAC,CACnE,CAAC;IACF,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,6BAA6B,CAAC,cAAwB;IAC3D,4BAA4B;IAC5B,MAAM,YAAY,GAAkB,cAAc,CAAC,YAAY,CAAC;IAEhE,+DAA+D;IAC/D,IAAI,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;IAEvG,UAAU,GAAI,EAAoB,CAAC,MAAM,CACrC,UAAU,EACV,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,uCAAe,CAAC,OAAO,CAAC,CAC7E,CAAC;IAEF,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAEvE,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;QACxC,gEAAgE;QAChE,IAAA,0BAAM,EAAC,UAAU,CAAC,SAAS,KAAK,iCAAS,CAAC,YAAY,IAAI,UAAU,CAAC,SAAS,KAAK,iCAAS,CAAC,UAAU,CAAC,CAAC;QAEzG,4CAA4C;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;YACrD,UAAU,GAAI,EAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IACD,uBAAuB;IACvB,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAE9C,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,qBAAqB,GAAG,CAAC,cAA2B,EAAE,GAAgB,EAAoB,EAAE;IAC9F,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,SAAgB,oCAAoC,CAAC,SAAsB;IACvE,MAAM,cAAc,GAAgB,SAAS,CAAC,cAAc,EAAE,CAAC;IAE/D,yFAAyF;IACzF,qBAAqB;IACrB,uDAAuD;IAEvD,iBAAiB;IACjB,OAAO,IAAI,QAAQ,CAAC,sCAAsC,CAAC,CAAC;IAE5D,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,KAAK,CAAC,QAAkB,EAAE,MAAgB;QAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,qDAAqD;QACrD,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAExE,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QAED,iBAAiB;QACjB,OAAO,IAAI,QAAQ,CAAC,iBAAiB,EAAE,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,iCAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAExH,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,qBAAqB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,6DAA6D;YAE7D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAE9B,iBAAiB;YACjB,OAAO;gBACH,QAAQ,CACJ,sBAAsB,EACtB,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,EACpD,eAAe,EACf,SAAS,CAAC,MAAM,CAAC,EACjB,aAAa,EACb,SAAS,CAAC,SAAS,CAAC,CACvB,CAAC;YAEN,oBAAoB;YACpB,MAAM,CAAC,YAAY,CAAC;gBAChB,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,aAAa,EAAE,GAAG,CAAC,aAAa;aACnC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;GAKG;AAEH;;;;;;;;;;;GAWG;AACH,SAAgB,8BAA8B,CAAC,SAAsB;IACjE,MAAM,cAAc,GAAgB,SAAS,CAAC,cAAc,EAAE,CAAC;IAE/D,mGAAmG;IACnG,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;QACzF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,qBAAqB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,MAAM,CAAC,SAAS,KAAK,iCAAS,CAAC,MAAM;gBAAE,SAAS;YAEpD,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBAAE,SAAS;YAExC,IAAI,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAK,CAAC,QAAQ,EAAE,KAAK,qBAAqB,EAAE,CAAC;gBACjF,SAAS;YACb,CAAC;YAED,qEAAqE;YACrE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAkB,CAAC;YAE3C,IAAA,0BAAM,EAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAE1B,0EAA0E;YAC1E,MAAM,YAAY,GAAG,UAAU;iBAC1B,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;iBACjD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,YAAY,EAAE,CAAC;gBACf,SAAS;YACb,CAAC;YAED,UAAU,CAAC,YAAY,CAAC;gBACpB,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,GAAG,CAAC,aAAa;aACnC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -32,6 +32,7 @@ export interface IContinuationPointManager {
|
|
|
32
32
|
getNextHistoryReadRaw(numValues: number, continuationData: ContinuationData): IContinuationPointInfo<DataValue>;
|
|
33
33
|
registerReferences(maxElements: number, values: ReferenceDescription[], continuationData: ContinuationData): IContinuationPointInfo<ReferenceDescription>;
|
|
34
34
|
getNextReferences(numValues: number, continuationData: ContinuationData): IContinuationPointInfo<ReferenceDescription>;
|
|
35
|
+
dispose(): void;
|
|
35
36
|
}
|
|
36
37
|
export interface ISessionBase {
|
|
37
38
|
userIdentityToken?: UserIdentityToken;
|
|
@@ -43,13 +44,33 @@ export interface ContinuationPointData {
|
|
|
43
44
|
dataValues: DataValue[];
|
|
44
45
|
}
|
|
45
46
|
export interface ISessionContext {
|
|
46
|
-
session
|
|
47
|
+
/** The underlying OPC UA session, if available. */
|
|
48
|
+
readonly session?: ISessionBase;
|
|
49
|
+
/** Returns the NodeIds of all roles assigned to the current user. */
|
|
47
50
|
getCurrentUserRoles(): NodeId[];
|
|
51
|
+
/** Check whether the current user has the given permission on a node. */
|
|
48
52
|
checkPermission(node: BaseNode, action: PermissionType): boolean;
|
|
53
|
+
/** Returns `true` if browsing the given node is restricted for the current user. */
|
|
49
54
|
isBrowseAccessRestricted(node: BaseNode): boolean;
|
|
55
|
+
/** Returns `true` if the current user has the given role. */
|
|
50
56
|
currentUserHasRole(role: NodeIdLike): boolean;
|
|
57
|
+
/** Returns `true` if access to the node is restricted by security settings. */
|
|
51
58
|
isAccessRestricted(node: BaseNode): boolean;
|
|
59
|
+
/** The object on which the current operation is being performed. */
|
|
52
60
|
object?: UAObject | UAObjectType;
|
|
61
|
+
/** Server timestamp at the time the request was received. */
|
|
53
62
|
currentTime?: PreciseClock;
|
|
54
|
-
|
|
63
|
+
/** Display name of the authenticated user (e.g. "anonymous"). */
|
|
64
|
+
readonly userIdentity?: string;
|
|
65
|
+
/**
|
|
66
|
+
* The client's application-instance certificate,
|
|
67
|
+
* or `null` if no secure channel is available.
|
|
68
|
+
*/
|
|
69
|
+
readonly clientCertificate: Certificate | null;
|
|
70
|
+
/**
|
|
71
|
+
* The application URI extracted from the client
|
|
72
|
+
* certificate's SubjectAltName, or `null` if
|
|
73
|
+
* unavailable.
|
|
74
|
+
*/
|
|
75
|
+
readonly clientApplicationUri: string | null;
|
|
55
76
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-address-space-base",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.165.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module address-space-base",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -17,21 +17,21 @@
|
|
|
17
17
|
"fix:tsconfig": "node ../../code_gen/extract-modules.js tsconfig.json"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"node-opcua-assert": "2.
|
|
21
|
-
"node-opcua-basic-types": "2.
|
|
20
|
+
"node-opcua-assert": "2.164.0",
|
|
21
|
+
"node-opcua-basic-types": "2.165.0",
|
|
22
22
|
"node-opcua-constants": "2.157.0",
|
|
23
|
-
"node-opcua-crypto": "
|
|
24
|
-
"node-opcua-data-model": "2.
|
|
25
|
-
"node-opcua-data-value": "2.
|
|
26
|
-
"node-opcua-date-time": "2.
|
|
27
|
-
"node-opcua-debug": "2.
|
|
28
|
-
"node-opcua-extension-object": "2.
|
|
29
|
-
"node-opcua-nodeid": "2.
|
|
30
|
-
"node-opcua-numeric-range": "2.
|
|
31
|
-
"node-opcua-schemas": "2.
|
|
32
|
-
"node-opcua-status-code": "2.
|
|
33
|
-
"node-opcua-types": "2.
|
|
34
|
-
"node-opcua-variant": "2.
|
|
23
|
+
"node-opcua-crypto": "5.3.0",
|
|
24
|
+
"node-opcua-data-model": "2.165.0",
|
|
25
|
+
"node-opcua-data-value": "2.165.0",
|
|
26
|
+
"node-opcua-date-time": "2.165.0",
|
|
27
|
+
"node-opcua-debug": "2.165.0",
|
|
28
|
+
"node-opcua-extension-object": "2.165.0",
|
|
29
|
+
"node-opcua-nodeid": "2.165.0",
|
|
30
|
+
"node-opcua-numeric-range": "2.165.0",
|
|
31
|
+
"node-opcua-schemas": "2.165.0",
|
|
32
|
+
"node-opcua-status-code": "2.165.0",
|
|
33
|
+
"node-opcua-types": "2.165.0",
|
|
34
|
+
"node-opcua-variant": "2.165.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": "
|
|
51
|
+
"gitHead": "fe53ac03427fcb223996446c991f7496635ba193",
|
|
52
52
|
"files": [
|
|
53
53
|
"dist",
|
|
54
54
|
"source"
|
package/source/address_space.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ExtensionObject } from "node-opcua-extension-object";
|
|
2
2
|
import { NodeId, NodeIdLike } from "node-opcua-nodeid";
|
|
3
3
|
import { AnyConstructorFunc } from "node-opcua-schemas";
|
|
4
|
+
import { StatusCode } from "node-opcua-status-code";
|
|
4
5
|
import { BrowseDescription, BrowsePath, BrowsePathResult, BrowseResult } from "node-opcua-types";
|
|
5
|
-
import { DataType, VariantByteString } from "node-opcua-variant";
|
|
6
|
+
import { DataType, Variant, VariantByteString } from "node-opcua-variant";
|
|
6
7
|
//
|
|
7
8
|
import { AddReferenceOpts, BaseNode } from "./base_node";
|
|
8
9
|
import { INamespace } from "./namespace";
|
|
@@ -21,6 +22,18 @@ import { UAView } from "./ua_view";
|
|
|
21
22
|
|
|
22
23
|
export type ShutdownTask = ((this: IAddressSpace) => void) | ((this: IAddressSpace) => Promise<void>);
|
|
23
24
|
|
|
25
|
+
/**
|
|
26
|
+
* A method call interceptor is invoked before every UAMethod.execute() call.
|
|
27
|
+
* Return `StatusCodes.Good` to allow the call, or any other StatusCode to reject it.
|
|
28
|
+
* The interceptor may be synchronous or asynchronous.
|
|
29
|
+
*/
|
|
30
|
+
export type MethodCallInterceptor = (
|
|
31
|
+
context: ISessionContext,
|
|
32
|
+
object: UAObject | UAObjectType | null,
|
|
33
|
+
method: UAMethod,
|
|
34
|
+
inputArguments: Variant[]
|
|
35
|
+
) => StatusCode | Promise<StatusCode>;
|
|
36
|
+
|
|
24
37
|
interface UARootFolder_Objects extends UAObject {
|
|
25
38
|
server: UAObject;
|
|
26
39
|
}
|
|
@@ -208,4 +221,18 @@ export interface IAddressSpace {
|
|
|
208
221
|
* EventId is generated by the Server to uniquely identify a particular Event Notification.
|
|
209
222
|
*/
|
|
210
223
|
generateEventId(): VariantByteString;
|
|
224
|
+
|
|
225
|
+
// -------------- Method call interceptors
|
|
226
|
+
/**
|
|
227
|
+
* Register a method call interceptor.
|
|
228
|
+
* Interceptors are called sequentially before each UAMethod.execute().
|
|
229
|
+
* If any interceptor returns a non-Good StatusCode, the method call
|
|
230
|
+
* is rejected and subsequent interceptors are skipped.
|
|
231
|
+
*/
|
|
232
|
+
addMethodCallInterceptor(interceptor: MethodCallInterceptor): void;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Remove a previously registered method call interceptor.
|
|
236
|
+
*/
|
|
237
|
+
removeMethodCallInterceptor(interceptor: MethodCallInterceptor): void;
|
|
211
238
|
}
|
package/source/clone_helper.ts
CHANGED
|
@@ -20,8 +20,10 @@ const traceLog = errorLog;
|
|
|
20
20
|
|
|
21
21
|
type UAConcrete = UAVariable | UAObject | UAMethod;
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
/**
|
|
23
|
+
/* c8 ignore start */
|
|
24
|
+
/**
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
25
27
|
export function fullPath(node: BaseNode): string {
|
|
26
28
|
const browseName = node.browseName.toString();
|
|
27
29
|
|
|
@@ -35,13 +37,10 @@ export function fullPath(node: BaseNode): string {
|
|
|
35
37
|
}
|
|
36
38
|
return browseName;
|
|
37
39
|
}
|
|
38
|
-
// istanbul ignore next
|
|
39
40
|
/** @private */
|
|
40
41
|
export function fullPath2(node: BaseNode): string {
|
|
41
42
|
return fullPath(node) + " (" + node.nodeId.toString() + ")";
|
|
42
43
|
}
|
|
43
|
-
|
|
44
|
-
// istanbul ignore next
|
|
45
44
|
/** @private */
|
|
46
45
|
export function exploreNode(node: BaseNode) {
|
|
47
46
|
const f = (n: BaseNode) => {
|
|
@@ -129,7 +128,7 @@ function _get_parent_type_and_path(originalObject: BaseNode): {
|
|
|
129
128
|
const addressSpace = originalObject.addressSpace;
|
|
130
129
|
|
|
131
130
|
const parents = originalObject.findReferencesEx("HasChild", BrowseDirection.Inverse);
|
|
132
|
-
//
|
|
131
|
+
// c8 ignore next
|
|
133
132
|
if (parents.length > 1) {
|
|
134
133
|
warningLog(" object ", originalObject.browseName.toString(), " has more than one parent !");
|
|
135
134
|
warningLog(originalObject.toString());
|
|
@@ -152,6 +151,7 @@ function _get_parent_type_and_path(originalObject: BaseNode): {
|
|
|
152
151
|
const { parentType, path } = _get_parent_type_and_path(theParent!);
|
|
153
152
|
return { parentType, path: [...path, originalObject.browseName] };
|
|
154
153
|
}
|
|
154
|
+
/* c8 ignore stop */
|
|
155
155
|
|
|
156
156
|
interface CloneInfo {
|
|
157
157
|
cloned: UAObject | UAVariable | UAMethod;
|
|
@@ -197,13 +197,13 @@ export class CloneHelper {
|
|
|
197
197
|
TO extends UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
|
|
198
198
|
TC extends UAObject | UAVariable | UAMethod
|
|
199
199
|
>({ clonedParent, originalParent }: { clonedParent: TC; originalParent: TO }): void {
|
|
200
|
-
//
|
|
200
|
+
// c8 ignore next
|
|
201
201
|
doTrace &&
|
|
202
202
|
traceLog("push context: ", "original parent = ", fullPath2(originalParent), "cloned parent =", fullPath2(clonedParent));
|
|
203
203
|
|
|
204
204
|
const typeInstance = originalParent.nodeId.toString() + clonedParent.nodeId.toString();
|
|
205
205
|
|
|
206
|
-
//
|
|
206
|
+
// c8 ignore next
|
|
207
207
|
doTrace && traceLog("typeInstance (1) = ", typeInstance, fullPath2(originalParent), fullPath2(clonedParent));
|
|
208
208
|
|
|
209
209
|
let a = this.mapTypeInstanceChildren.get(typeInstance);
|
|
@@ -229,7 +229,7 @@ export class CloneHelper {
|
|
|
229
229
|
if (!this._context) {
|
|
230
230
|
this.pushContext({ clonedParent: clonedNode, originalParent: originalNode });
|
|
231
231
|
}
|
|
232
|
-
//
|
|
232
|
+
// c8 ignore next
|
|
233
233
|
doTrace &&
|
|
234
234
|
traceLog("registerClonedObject", "originalNode = ", fullPath2(originalNode), "clonedNode =", fullPath2(clonedNode));
|
|
235
235
|
|
|
@@ -241,7 +241,7 @@ export class CloneHelper {
|
|
|
241
241
|
while (base) {
|
|
242
242
|
const shadowChild = followPath(base, path);
|
|
243
243
|
if (shadowChild) {
|
|
244
|
-
//
|
|
244
|
+
// c8 ignore next
|
|
245
245
|
doTrace && traceLog("shadowChild = ", fullPath2(shadowChild));
|
|
246
246
|
map.set(shadowChild.nodeId.toString(), {
|
|
247
247
|
cloned: clonedNode,
|
|
@@ -283,7 +283,7 @@ export class CloneHelper {
|
|
|
283
283
|
// | |
|
|
284
284
|
// +- Component (B again !) [originalNode] +- Component (B again !)
|
|
285
285
|
|
|
286
|
-
//
|
|
286
|
+
// c8 ignore next
|
|
287
287
|
doTrace &&
|
|
288
288
|
traceLog(
|
|
289
289
|
"typeInstance (3) = originalParent",
|
|
@@ -367,7 +367,7 @@ export function reconstructNonHierarchicalReferences(extraInfo: CloneHelper): vo
|
|
|
367
367
|
// have been cloned .
|
|
368
368
|
// this could be node organized by some FunctionalGroup
|
|
369
369
|
|
|
370
|
-
//
|
|
370
|
+
// c8 ignore next
|
|
371
371
|
doTrace && traceLog("reconstructNonHierarchicalReferences");
|
|
372
372
|
|
|
373
373
|
for (const { original, cloned } of cloneInfoArray) {
|
|
@@ -383,7 +383,7 @@ export function reconstructNonHierarchicalReferences(extraInfo: CloneHelper): vo
|
|
|
383
383
|
return;
|
|
384
384
|
}
|
|
385
385
|
|
|
386
|
-
//
|
|
386
|
+
// c8 ignore next
|
|
387
387
|
doTrace && traceLog(" investigation ", "original", fullPath2(original), NodeClass[cloned.nodeClass], fullPath2(cloned));
|
|
388
388
|
|
|
389
389
|
for (const ref of originalNonHierarchical) {
|
|
@@ -395,7 +395,7 @@ export function reconstructNonHierarchicalReferences(extraInfo: CloneHelper): vo
|
|
|
395
395
|
const originalDest = info.original;
|
|
396
396
|
const cloneDest = info.cloned;
|
|
397
397
|
|
|
398
|
-
//
|
|
398
|
+
// c8 ignore next
|
|
399
399
|
doTrace &&
|
|
400
400
|
traceLog(
|
|
401
401
|
" adding reference ",
|
|
@@ -51,6 +51,7 @@ export interface IContinuationPointManager {
|
|
|
51
51
|
continuationData: ContinuationData
|
|
52
52
|
): IContinuationPointInfo<ReferenceDescription>;
|
|
53
53
|
getNextReferences(numValues: number, continuationData: ContinuationData): IContinuationPointInfo<ReferenceDescription>;
|
|
54
|
+
dispose(): void;
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
export interface ISessionBase {
|
|
@@ -63,13 +64,43 @@ export interface ContinuationPointData {
|
|
|
63
64
|
dataValues: DataValue[];
|
|
64
65
|
}
|
|
65
66
|
export interface ISessionContext {
|
|
66
|
-
session
|
|
67
|
+
/** The underlying OPC UA session, if available. */
|
|
68
|
+
readonly session?: ISessionBase;
|
|
69
|
+
|
|
70
|
+
/** Returns the NodeIds of all roles assigned to the current user. */
|
|
67
71
|
getCurrentUserRoles(): NodeId[];
|
|
72
|
+
|
|
73
|
+
/** Check whether the current user has the given permission on a node. */
|
|
68
74
|
checkPermission(node: BaseNode, action: PermissionType): boolean;
|
|
75
|
+
|
|
76
|
+
/** Returns `true` if browsing the given node is restricted for the current user. */
|
|
69
77
|
isBrowseAccessRestricted(node: BaseNode): boolean;
|
|
78
|
+
|
|
79
|
+
/** Returns `true` if the current user has the given role. */
|
|
70
80
|
currentUserHasRole(role: NodeIdLike): boolean;
|
|
81
|
+
|
|
82
|
+
/** Returns `true` if access to the node is restricted by security settings. */
|
|
71
83
|
isAccessRestricted(node: BaseNode): boolean;
|
|
84
|
+
|
|
85
|
+
/** The object on which the current operation is being performed. */
|
|
72
86
|
object?: UAObject | UAObjectType;
|
|
87
|
+
|
|
88
|
+
/** Server timestamp at the time the request was received. */
|
|
73
89
|
currentTime?: PreciseClock;
|
|
74
|
-
|
|
90
|
+
|
|
91
|
+
/** Display name of the authenticated user (e.g. "anonymous"). */
|
|
92
|
+
readonly userIdentity?: string;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* The client's application-instance certificate,
|
|
96
|
+
* or `null` if no secure channel is available.
|
|
97
|
+
*/
|
|
98
|
+
readonly clientCertificate: Certificate | null;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* The application URI extracted from the client
|
|
102
|
+
* certificate's SubjectAltName, or `null` if
|
|
103
|
+
* unavailable.
|
|
104
|
+
*/
|
|
105
|
+
readonly clientApplicationUri: string | null;
|
|
75
106
|
}
|