node-opcua-service-filter 2.177.0 → 2.179.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/check_event_clause.d.ts +6 -3
- package/dist/check_event_clause.js +7 -5
- package/dist/check_event_clause.js.map +1 -1
- package/dist/check_where_clause.d.ts +2 -2
- package/dist/check_where_clause.js +18 -18
- package/dist/check_where_clause.js.map +1 -1
- package/dist/extract_event_field.d.ts +1 -1
- package/dist/extract_event_field.js +1 -1
- package/dist/extract_event_field.js.map +1 -1
- package/dist/filter_context.d.ts +3 -3
- package/dist/imports.d.ts +1 -1
- package/dist/imports.js +7 -7
- package/dist/imports.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/make_content_filter.d.ts +4 -4
- package/dist/make_content_filter.js.map +1 -1
- package/dist/on_address_space/extract_event_fields.d.ts +3 -3
- package/dist/on_address_space/extract_event_fields.js.map +1 -1
- package/dist/on_address_space/filter_context_on_address_space.d.ts +4 -4
- package/dist/on_address_space/filter_context_on_address_space.js +2 -5
- package/dist/on_address_space/filter_context_on_address_space.js.map +1 -1
- package/dist/on_address_space/index.d.ts +1 -1
- package/dist/on_address_space/index.js +1 -1
- package/dist/on_address_space/index.js.map +1 -1
- package/dist/resolve_operand.d.ts +2 -2
- package/dist/resolve_operand.js +2 -1
- package/dist/resolve_operand.js.map +1 -1
- package/dist/tools_event_filter.d.ts +2 -2
- package/dist/tools_event_filter.js.map +1 -1
- package/package.json +17 -17
- package/source/check_event_clause.ts +8 -5
- package/source/check_where_clause.ts +36 -38
- package/source/extract_event_field.ts +3 -3
- package/source/filter_context.ts +3 -5
- package/source/imports.ts +14 -22
- package/source/index.ts +1 -1
- package/source/make_content_filter.ts +7 -11
- package/source/on_address_space/extract_event_fields.ts +3 -6
- package/source/on_address_space/filter_context_on_address_space.ts +13 -17
- package/source/on_address_space/index.ts +1 -2
- package/source/resolve_operand.ts +10 -5
- package/source/tools_event_filter.ts +2 -7
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*/
|
|
4
|
+
import type { BaseNode, UAObjectType } from "node-opcua-address-space-base";
|
|
5
|
+
import { type StatusCode } from "node-opcua-status-code";
|
|
6
|
+
import type { SimpleAttributeOperand } from "node-opcua-types";
|
|
4
7
|
/**
|
|
5
8
|
|
|
6
9
|
* @param parentNode
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.checkSelectClause = checkSelectClause;
|
|
4
|
-
exports.checkSelectClauses = checkSelectClauses;
|
|
5
2
|
/**
|
|
6
3
|
* @module node-opcua-address-space
|
|
7
4
|
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.checkSelectClause = checkSelectClause;
|
|
7
|
+
exports.checkSelectClauses = checkSelectClauses;
|
|
8
8
|
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
9
|
+
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
9
10
|
const node_opcua_service_translate_browse_path_1 = require("node-opcua-service-translate-browse-path");
|
|
10
11
|
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
11
|
-
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
12
12
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
13
|
+
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
13
14
|
/**
|
|
14
15
|
|
|
15
16
|
* @param parentNode
|
|
@@ -30,7 +31,8 @@ function checkSelectClause(parentNode, selectClause) {
|
|
|
30
31
|
}
|
|
31
32
|
// ... and that node must be an ObjectType (an EventType)
|
|
32
33
|
if (eventTypeNode.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
|
|
33
|
-
|
|
34
|
+
// c8 ignore next
|
|
35
|
+
doDebug && debugLog(" checkSelectClause", eventTypeNode.toString());
|
|
34
36
|
return node_opcua_status_code_1.StatusCodes.BadTypeMismatch;
|
|
35
37
|
}
|
|
36
38
|
// navigate to the innerNode specified by the browsePath [ QualifiedName]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_event_clause.js","sourceRoot":"","sources":["../source/check_event_clause.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"check_event_clause.js","sourceRoot":"","sources":["../source/check_event_clause.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAkBH,8CAyBC;AAQD,gDAEC;AAlDD,iEAAkD;AAClD,uDAAiE;AACjE,uGAAgG;AAChG,mEAAsE;AAGtE,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAE3C;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,UAAoB,EAAE,YAAoC;IACxF,EAAE;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAE7C,iBAAiB;IACjB,IAAI,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,OAAO,oCAAW,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAEhF,2DAA2D;IAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,oCAAW,CAAC,gBAAgB,CAAC;IACxC,CAAC;IACD,yDAAyD;IACzD,IAAI,aAAa,CAAC,SAAS,KAAK,iCAAS,CAAC,UAAU,EAAE,CAAC;QACnD,iBAAiB;QACjB,OAAO,IAAI,QAAQ,CAAC,oBAAoB,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,OAAO,oCAAW,CAAC,eAAe,CAAC;IACvC,CAAC;IAED,yEAAyE;IACzE,MAAM,UAAU,GAAG,IAAA,+EAAoC,EAAC,aAAa,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAChG,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO,gBAAgB,CAAC,UAAU,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,aAA2B,EAAE,aAAuC;IACnG,OAAO,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContentFilter } from "node-opcua-types";
|
|
2
1
|
import { type StatusCode } from "node-opcua-status-code";
|
|
3
|
-
import {
|
|
2
|
+
import { type ContentFilter } from "node-opcua-types";
|
|
3
|
+
import type { FilterContext } from "./filter_context";
|
|
4
4
|
/**
|
|
5
5
|
* Validate the structure of a ContentFilter, returning a precise StatusCode (Good when valid).
|
|
6
6
|
*
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateContentFilter = validateContentFilter;
|
|
4
4
|
exports.checkFilter = checkFilter;
|
|
5
|
-
const node_opcua_types_1 = require("node-opcua-types");
|
|
6
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
7
5
|
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
6
|
+
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
8
7
|
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
9
8
|
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
10
|
-
const
|
|
9
|
+
const node_opcua_types_1 = require("node-opcua-types");
|
|
10
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
11
11
|
const resolve_operand_1 = require("./resolve_operand");
|
|
12
12
|
const warningLog = (0, node_opcua_debug_1.make_warningLog)("Filter");
|
|
13
13
|
function _coerceToBoolean(value) {
|
|
@@ -51,6 +51,12 @@ function _coerceToCompareable(value) {
|
|
|
51
51
|
function _coerceToEqualable(value) {
|
|
52
52
|
return value;
|
|
53
53
|
}
|
|
54
|
+
// TIn varies by call site: most coerce functions only ever see a Variant (from an
|
|
55
|
+
// AttributeOperand/SimpleAttributeOperand/LiteralOperand), but an ElementOperand resolves
|
|
56
|
+
// through checkFilterAtIndex and produces a boolean instead. Rather than force every coerce
|
|
57
|
+
// function to declare a Variant | boolean | null param it mostly doesn't need, TIn is
|
|
58
|
+
// inferred from whichever coerce function is actually passed, and the casts below make that
|
|
59
|
+
// call-site contract explicit instead of silently typing the whole function `any`.
|
|
54
60
|
function evaluateOperand(filterContext, filter, operand, coerce) {
|
|
55
61
|
if (operand instanceof node_opcua_types_1.AttributeOperand) {
|
|
56
62
|
return coerce((0, resolve_operand_1.resolveOperand)(filterContext, operand));
|
|
@@ -76,7 +82,7 @@ function checkOfType(filterContext, ofType) {
|
|
|
76
82
|
}
|
|
77
83
|
// c8 ignore next
|
|
78
84
|
if (ofType.value.dataType !== node_opcua_variant_1.DataType.NodeId) {
|
|
79
|
-
warningLog(
|
|
85
|
+
warningLog(`invalid operand type (expecting NodeId); got ${node_opcua_variant_1.DataType[ofType.value.dataType]}`);
|
|
80
86
|
return false;
|
|
81
87
|
}
|
|
82
88
|
const ofTypeNode = ofType.value.value;
|
|
@@ -90,7 +96,7 @@ function checkOfType(filterContext, ofType) {
|
|
|
90
96
|
ofTypeNodeNodeClass !== node_opcua_data_model_1.NodeClass.VariableType &&
|
|
91
97
|
ofTypeNodeNodeClass !== node_opcua_data_model_1.NodeClass.DataType &&
|
|
92
98
|
ofTypeNodeNodeClass !== node_opcua_data_model_1.NodeClass.ReferenceType) {
|
|
93
|
-
warningLog(
|
|
99
|
+
warningLog(`operand should be a ObjectType ${ofTypeNode.toString()}`);
|
|
94
100
|
return false;
|
|
95
101
|
}
|
|
96
102
|
if (!filterContext.eventSource || filterContext.eventSource.isEmpty()) {
|
|
@@ -99,10 +105,11 @@ function checkOfType(filterContext, ofType) {
|
|
|
99
105
|
let sourceTypeDefinition = filterContext.eventSource;
|
|
100
106
|
const sourceNodeClass = filterContext.getNodeClass(filterContext.eventSource);
|
|
101
107
|
if (sourceNodeClass === node_opcua_data_model_1.NodeClass.Object || sourceNodeClass === node_opcua_data_model_1.NodeClass.Variable) {
|
|
102
|
-
|
|
103
|
-
if (!
|
|
108
|
+
const typeDefinition = filterContext.getTypeDefinition(filterContext.eventSource);
|
|
109
|
+
if (!typeDefinition) {
|
|
104
110
|
return false;
|
|
105
111
|
}
|
|
112
|
+
sourceTypeDefinition = typeDefinition;
|
|
106
113
|
}
|
|
107
114
|
return filterContext.isSubtypeOf(sourceTypeDefinition, ofTypeNode);
|
|
108
115
|
}
|
|
@@ -171,7 +178,7 @@ const isVariantEqual = (a, b) => {
|
|
|
171
178
|
case node_opcua_variant_1.DataType.DateTime:
|
|
172
179
|
return a.value?.getTime() === b.value.getTime();
|
|
173
180
|
case node_opcua_variant_1.DataType.Guid:
|
|
174
|
-
return a.value.toLowerCase() ===
|
|
181
|
+
return a.value.toLowerCase() === `${b.value || ""}`.toLowerCase();
|
|
175
182
|
case node_opcua_variant_1.DataType.ByteString:
|
|
176
183
|
if (b.dataType !== node_opcua_variant_1.DataType.ByteString) {
|
|
177
184
|
return false;
|
|
@@ -185,6 +192,7 @@ const isVariantEqual = (a, b) => {
|
|
|
185
192
|
return a.value?.namespaceIndex === b.value?.namespaceIndex && a.value?.name === b.value?.name;
|
|
186
193
|
case node_opcua_variant_1.DataType.ExtensionObject:
|
|
187
194
|
console.log("isVariantEqual: Not implemented for DataType.ExtensionObject");
|
|
195
|
+
return false;
|
|
188
196
|
default:
|
|
189
197
|
return false; // not sure how to do
|
|
190
198
|
}
|
|
@@ -224,7 +232,7 @@ function checkInList(context, filterOperands) {
|
|
|
224
232
|
// c8 ignore next
|
|
225
233
|
if (!(operand0 instanceof node_opcua_types_1.SimpleAttributeOperand)) {
|
|
226
234
|
// unsupported case
|
|
227
|
-
warningLog(
|
|
235
|
+
warningLog(`FilterOperator.InList operand0 is not a SimpleAttributeOperand ${operand0.constructor.name}`);
|
|
228
236
|
return false;
|
|
229
237
|
}
|
|
230
238
|
const value = (0, resolve_operand_1.resolveOperand)(context, operand0);
|
|
@@ -256,7 +264,6 @@ function checkInList(context, filterOperands) {
|
|
|
256
264
|
}
|
|
257
265
|
return false;
|
|
258
266
|
}
|
|
259
|
-
// eslint-disable-next-line complexity
|
|
260
267
|
function checkFilterAtIndex(filterContext, filter, index) {
|
|
261
268
|
if (!filter.elements || filter.elements.length === 0) {
|
|
262
269
|
return true;
|
|
@@ -287,16 +294,9 @@ function checkFilterAtIndex(filterContext, filter, index) {
|
|
|
287
294
|
case node_opcua_types_1.FilterOperator.Not:
|
|
288
295
|
return checkNot(filterContext, filter, filterOperands);
|
|
289
296
|
case node_opcua_types_1.FilterOperator.OfType:
|
|
290
|
-
return checkOfType(filterContext, element.filterOperands[0]);
|
|
297
|
+
return checkOfType(filterContext, element.filterOperands?.[0] ?? null);
|
|
291
298
|
case node_opcua_types_1.FilterOperator.InList:
|
|
292
299
|
return checkInList(filterContext, filterOperands);
|
|
293
|
-
case node_opcua_types_1.FilterOperator.RelatedTo:
|
|
294
|
-
case node_opcua_types_1.FilterOperator.Like:
|
|
295
|
-
case node_opcua_types_1.FilterOperator.BitwiseAnd:
|
|
296
|
-
case node_opcua_types_1.FilterOperator.BitwiseOr:
|
|
297
|
-
case node_opcua_types_1.FilterOperator.Cast:
|
|
298
|
-
case node_opcua_types_1.FilterOperator.InView:
|
|
299
|
-
case node_opcua_types_1.FilterOperator.IsNull:
|
|
300
300
|
default:
|
|
301
301
|
// from Spec OPC Unified Architecture, Part 4 133 Release 1.04
|
|
302
302
|
// Any basic FilterOperator in Table 119 may be used in the whereClause, however, only the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_where_clause.js","sourceRoot":"","sources":["../source/check_where_clause.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check_where_clause.js","sourceRoot":"","sources":["../source/check_where_clause.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SimpleAttributeOperand } from "node-opcua-types";
|
|
2
2
|
import { Variant } from "node-opcua-variant";
|
|
3
|
-
import { FilterContext } from "./filter_context";
|
|
3
|
+
import type { FilterContext } from "./filter_context";
|
|
4
4
|
/**
|
|
5
5
|
*
|
|
6
6
|
* extract a eventField from a event node, matching the given selectClause
|
|
@@ -26,7 +26,7 @@ function extractEventField(context, operand) {
|
|
|
26
26
|
// but could be on of its derived type. for instance ns=0;i=2881 => AcknowledgeableConditionType
|
|
27
27
|
if (!context.isSubtypeOf(operand.typeDefinitionId, conditionTypeNodeId)) {
|
|
28
28
|
warningLog(" ", operand.typeDefinitionId.toString());
|
|
29
|
-
warningLog(
|
|
29
|
+
warningLog(`this case is not handled yet : selectClause.typeDefinitionId = ${operand.typeDefinitionId.toString()}`);
|
|
30
30
|
warningLog(operand.toString());
|
|
31
31
|
return new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.NodeId, value: context.eventSource });
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract_event_field.js","sourceRoot":"","sources":["../source/extract_event_field.ts"],"names":[],"mappings":";;AAgBA,8CAgCC;AAED,wDAIC;AAtDD,yDAA2C;AAC3C,iEAAqD;AACrD,uDAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"extract_event_field.js","sourceRoot":"","sources":["../source/extract_event_field.ts"],"names":[],"mappings":";;AAgBA,8CAgCC;AAED,wDAIC;AAtDD,yDAA2C;AAC3C,iEAAqD;AACrD,uDAAmD;AACnD,yDAA8D;AAC9D,uDAA0D;AAC1D,2DAAuD;AAEvD,uDAAmD;AAEnD,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,QAAQ,CAAC,CAAC;AAC7C,MAAM,mBAAmB,GAAG,IAAA,iCAAa,EAAC,eAAe,CAAC,CAAC;AAE3D;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,OAAsB,EAAE,OAA+B;IACrF,IAAA,0BAAM,EAAC,OAAO,YAAY,yCAAsB,CAAC,CAAC;IAElD,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IAE9C,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,KAAK,oCAAY,CAAC,MAAM,EAAE,CAAC;QACjF,iCAAiC;QACjC,iCAAiC;QACjC,IAAI,CAAC,IAAA,8BAAU,EAAC,OAAO,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAC7D,sBAAsB;YACtB,gGAAgG;YAChG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBACtE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrD,UAAU,CAAC,kEAAkE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACpH,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/B,OAAO,IAAI,4BAAO,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAClF,CAAC;QACL,CAAC;QAED,MAAM,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjF,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC7B,mCAAmC;YACnC,OAAO,IAAI,4BAAO,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,4BAAO,EAAE,CAAC;QACzB,CAAC;QACD,4CAA4C;QAC5C,OAAO,IAAI,4BAAO,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,IAAA,gCAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAsB,EAAE,aAAuC;IAClG,IAAA,0BAAM,EAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrC,IAAA,0BAAM,EAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,YAAY,yCAAsB,CAAC,CAAC;IACzF,OAAO,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC"}
|
package/dist/filter_context.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NodeId, NodeIdLike } from "node-opcua-nodeid";
|
|
2
|
-
import { BrowsePath, NodeClass } from "node-opcua-types";
|
|
3
|
-
import { Variant } from "node-opcua-variant";
|
|
1
|
+
import type { NodeId, NodeIdLike } from "node-opcua-nodeid";
|
|
2
|
+
import type { BrowsePath, NodeClass } from "node-opcua-types";
|
|
3
|
+
import type { Variant } from "node-opcua-variant";
|
|
4
4
|
export interface FilterContext {
|
|
5
5
|
readonly eventSource: NodeId;
|
|
6
6
|
isSubtypeOf(nodeId: NodeId, baseType: NodeId): boolean;
|
package/dist/imports.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-opcua-service-filter
|
|
3
3
|
*/
|
|
4
|
-
export {
|
|
4
|
+
export { AttributeOperand, AttributeOperandOptions, ContentFilter, ContentFilterElement, ContentFilterElementOptions, ContentFilterOptions, DataChangeFilter, ElementOperand, ElementOperandOptions, EventFilter, EventFilterOptions, FilterOperand, FilterOperandOptions, FilterOperator, LiteralOperand, LiteralOperandOptions, MonitoringFilter, MonitoringFilterOptions, SimpleAttributeOperand, SimpleAttributeOperandOptions } from "node-opcua-types";
|
package/dist/imports.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SimpleAttributeOperand = exports.MonitoringFilter = exports.LiteralOperand = exports.FilterOperator = exports.FilterOperand = exports.EventFilter = exports.ElementOperand = exports.DataChangeFilter = exports.ContentFilterElement = exports.ContentFilter = exports.AttributeOperand = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* @module node-opcua-service-filter
|
|
6
6
|
*/
|
|
7
7
|
var node_opcua_types_1 = require("node-opcua-types");
|
|
8
|
-
Object.defineProperty(exports, "FilterOperator", { enumerable: true, get: function () { return node_opcua_types_1.FilterOperator; } });
|
|
9
8
|
Object.defineProperty(exports, "AttributeOperand", { enumerable: true, get: function () { return node_opcua_types_1.AttributeOperand; } });
|
|
9
|
+
Object.defineProperty(exports, "ContentFilter", { enumerable: true, get: function () { return node_opcua_types_1.ContentFilter; } });
|
|
10
|
+
Object.defineProperty(exports, "ContentFilterElement", { enumerable: true, get: function () { return node_opcua_types_1.ContentFilterElement; } });
|
|
11
|
+
Object.defineProperty(exports, "DataChangeFilter", { enumerable: true, get: function () { return node_opcua_types_1.DataChangeFilter; } });
|
|
10
12
|
Object.defineProperty(exports, "ElementOperand", { enumerable: true, get: function () { return node_opcua_types_1.ElementOperand; } });
|
|
13
|
+
Object.defineProperty(exports, "EventFilter", { enumerable: true, get: function () { return node_opcua_types_1.EventFilter; } });
|
|
11
14
|
Object.defineProperty(exports, "FilterOperand", { enumerable: true, get: function () { return node_opcua_types_1.FilterOperand; } });
|
|
15
|
+
Object.defineProperty(exports, "FilterOperator", { enumerable: true, get: function () { return node_opcua_types_1.FilterOperator; } });
|
|
12
16
|
Object.defineProperty(exports, "LiteralOperand", { enumerable: true, get: function () { return node_opcua_types_1.LiteralOperand; } });
|
|
13
|
-
Object.defineProperty(exports, "SimpleAttributeOperand", { enumerable: true, get: function () { return node_opcua_types_1.SimpleAttributeOperand; } });
|
|
14
17
|
Object.defineProperty(exports, "MonitoringFilter", { enumerable: true, get: function () { return node_opcua_types_1.MonitoringFilter; } });
|
|
15
|
-
Object.defineProperty(exports, "
|
|
16
|
-
Object.defineProperty(exports, "ContentFilter", { enumerable: true, get: function () { return node_opcua_types_1.ContentFilter; } });
|
|
17
|
-
Object.defineProperty(exports, "EventFilter", { enumerable: true, get: function () { return node_opcua_types_1.EventFilter; } });
|
|
18
|
-
Object.defineProperty(exports, "DataChangeFilter", { enumerable: true, get: function () { return node_opcua_types_1.DataChangeFilter; } });
|
|
18
|
+
Object.defineProperty(exports, "SimpleAttributeOperand", { enumerable: true, get: function () { return node_opcua_types_1.SimpleAttributeOperand; } });
|
|
19
19
|
//# sourceMappingURL=imports.js.map
|
package/dist/imports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../source/imports.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../source/imports.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,qDAqB0B;AApBtB,oHAAA,gBAAgB,OAAA;AAEhB,iHAAA,aAAa,OAAA;AACb,wHAAA,oBAAoB,OAAA;AAGpB,oHAAA,gBAAgB,OAAA;AAChB,kHAAA,cAAc,OAAA;AAEd,+GAAA,WAAW,OAAA;AAEX,iHAAA,aAAa,OAAA;AAEb,kHAAA,cAAc,OAAA;AACd,kHAAA,cAAc,OAAA;AAEd,oHAAA,gBAAgB,OAAA;AAEhB,0HAAA,sBAAsB,OAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export * from "./filter_context";
|
|
|
8
8
|
export * from "./imports";
|
|
9
9
|
export * from "./make_content_filter";
|
|
10
10
|
export * from "./on_address_space/extract_event_fields";
|
|
11
|
+
export * from "./on_address_space/filter_context_on_address_space";
|
|
11
12
|
export * from "./resolve_operand";
|
|
12
13
|
export * from "./tools_event_filter";
|
|
13
|
-
export * from "./on_address_space/filter_context_on_address_space";
|
package/dist/index.js
CHANGED
|
@@ -24,9 +24,9 @@ __exportStar(require("./filter_context"), exports);
|
|
|
24
24
|
__exportStar(require("./imports"), exports);
|
|
25
25
|
__exportStar(require("./make_content_filter"), exports);
|
|
26
26
|
__exportStar(require("./on_address_space/extract_event_fields"), exports);
|
|
27
|
+
__exportStar(require("./on_address_space/filter_context_on_address_space"), exports);
|
|
27
28
|
__exportStar(require("./resolve_operand"), exports);
|
|
28
29
|
__exportStar(require("./tools_event_filter"), exports);
|
|
29
|
-
__exportStar(require("./on_address_space/filter_context_on_address_space"), exports);
|
|
30
30
|
// The SimpleAttributeOperand is a simplified form of the AttributeOperand and all of the rules that
|
|
31
31
|
// apply to the AttributeOperand also apply to the SimpleAttributeOperand. The examples provided in
|
|
32
32
|
// B.1 only use AttributeOperand, however, the AttributeOperand can be replaced by a
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,uDAAqC;AACrC,uDAAqC;AACrC,wDAAsC;AACtC,mDAAiC;AACjC,4CAA0B;AAC1B,wDAAsC;AACtC,0EAAwD;AACxD,oDAAkC;AAClC,uDAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,uDAAqC;AACrC,uDAAqC;AACrC,wDAAsC;AACtC,mDAAiC;AACjC,4CAA0B;AAC1B,wDAAsC;AACtC,0EAAwD;AACxD,qFAAmE;AACnE,oDAAkC;AAClC,uDAAqC;AAErC,oGAAoG;AACpG,mGAAmG;AACnG,oFAAoF;AACpF,yFAAyF;AACzF,mGAAmG;AAEnG,mBAAmB;AACnB,iFAAiF;AACjF,uBAAuB;AACvB,mGAAmG;AAEnG,aAAa;AACb,6BAA6B;AAC7B,kFAAkF;AAClF,uEAAuE;AACvE,gFAAgF;AAChF,kEAAkE;AAClE,2EAA2E;AAC3E,YAAY;AACZ,wEAAwE;AACxE,mEAAmE;AAEnE,yDAAyD;AACzD,8EAA8E;AAC9E,4EAA4E;AAC5E,iBAAiB;AACjB,iDAAiD;AAEjD,qFAAqF;AACrF,8EAA8E;AAC9E,qFAAqF;AACrF,4BAA4B;AAC5B,0CAA0C;AAC1C,uEAAuE;AACvE,4CAA4C;AAC5C,kDAAkD"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* @module node-opcua-service-filter
|
|
3
3
|
*/
|
|
4
4
|
import { DataType } from "node-opcua-basic-types";
|
|
5
|
-
import { AttributeIds } from "node-opcua-data-model";
|
|
6
|
-
import { NodeIdLike } from "node-opcua-nodeid";
|
|
7
|
-
import { AttributeOperand, ContentFilter, ContentFilterElement, ContentFilterElementOptions, LiteralOperand, SimpleAttributeOperand } from "./imports";
|
|
5
|
+
import { type AttributeIds } from "node-opcua-data-model";
|
|
6
|
+
import { type NodeIdLike } from "node-opcua-nodeid";
|
|
7
|
+
import { type AttributeOperand, ContentFilter, ContentFilterElement, type ContentFilterElementOptions, LiteralOperand, SimpleAttributeOperand } from "./imports";
|
|
8
8
|
export declare function ofType(nodeId: NodeIdLike): ContentFilterElement;
|
|
9
|
-
export declare function l(dataType: DataType, value:
|
|
9
|
+
export declare function l(dataType: DataType, value: unknown): LiteralOperand;
|
|
10
10
|
export declare function n(n: NodeIdLike): LiteralOperand;
|
|
11
11
|
export declare function s(attributeId: AttributeIds, path: string): SimpleAttributeOperand;
|
|
12
12
|
type A = LiteralOperand | SimpleAttributeOperand | AttributeOperand | ContentFilterElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make_content_filter.js","sourceRoot":"","sources":["../source/make_content_filter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"make_content_filter.js","sourceRoot":"","sources":["../source/make_content_filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IEventData, ISessionContext } from "node-opcua-address-space-base";
|
|
2
|
-
import { SimpleAttributeOperand } from "node-opcua-types";
|
|
3
|
-
import { Variant } from "node-opcua-variant";
|
|
1
|
+
import type { IEventData, ISessionContext } from "node-opcua-address-space-base";
|
|
2
|
+
import type { SimpleAttributeOperand } from "node-opcua-types";
|
|
3
|
+
import type { Variant } from "node-opcua-variant";
|
|
4
4
|
/**
|
|
5
5
|
|
|
6
6
|
* extract a array of eventFields from a event node, matching the selectClauses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract_event_fields.js","sourceRoot":"","sources":["../../source/on_address_space/extract_event_fields.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"extract_event_fields.js","sourceRoot":"","sources":["../../source/on_address_space/extract_event_fields.ts"],"names":[],"mappings":";;AAaA,gDAOC;AAjBD,EAAE;AACF,gEAAgE;AAChE,uFAAgF;AAEhF;;;;;GAKG;AACH,SAAgB,kBAAkB,CAC9B,cAA+B,EAC/B,aAAuC,EACvC,SAAqB;IAErB,MAAM,OAAO,GAAG,IAAI,6DAA2B,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC3E,OAAO,IAAA,4CAAsB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { BaseNode, IEventData, ISessionContext } from "node-opcua-address-space-base";
|
|
1
|
+
import type { BaseNode, IEventData, ISessionContext } from "node-opcua-address-space-base";
|
|
2
2
|
import { NodeClass } from "node-opcua-data-model";
|
|
3
|
-
import { NodeId, NodeIdLike } from "node-opcua-nodeid";
|
|
4
|
-
import { BrowsePath } from "node-opcua-types";
|
|
3
|
+
import { NodeId, type NodeIdLike } from "node-opcua-nodeid";
|
|
4
|
+
import type { BrowsePath } from "node-opcua-types";
|
|
5
5
|
import { Variant } from "node-opcua-variant";
|
|
6
|
-
import { FilterContext } from "../filter_context";
|
|
6
|
+
import type { FilterContext } from "../filter_context";
|
|
7
7
|
export declare class FilterContextOnAddressSpace implements FilterContext {
|
|
8
8
|
private sessionContext;
|
|
9
9
|
private eventData;
|
|
@@ -81,11 +81,8 @@ class FilterContextOnAddressSpace {
|
|
|
81
81
|
// delegate to eventData if appropriate
|
|
82
82
|
if ((0, node_opcua_nodeid_1.sameNodeId)(browsePath.startingNode, this.eventSource)) {
|
|
83
83
|
const browseResult = this.eventData._browse(browsePath);
|
|
84
|
-
if (browseResult &&
|
|
85
|
-
browseResult.
|
|
86
|
-
browseResult.targets &&
|
|
87
|
-
browseResult.targets.length === 1) {
|
|
88
|
-
return browseResult.targets[0].targetId;
|
|
84
|
+
if (browseResult?.statusCode.isGood() && browseResult.targets && browseResult.targets.length === 1) {
|
|
85
|
+
return browseResult.targets?.[0].targetId;
|
|
89
86
|
}
|
|
90
87
|
}
|
|
91
88
|
// fallback to addressSpace otherwise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter_context_on_address_space.js","sourceRoot":"","sources":["../../source/on_address_space/filter_context_on_address_space.ts"],"names":[],"mappings":";;;AAYA,
|
|
1
|
+
{"version":3,"file":"filter_context_on_address_space.js","sourceRoot":"","sources":["../../source/on_address_space/filter_context_on_address_space.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./filter_context_on_address_space"), exports);
|
|
18
17
|
__exportStar(require("./extract_event_fields"), exports);
|
|
18
|
+
__exportStar(require("./filter_context_on_address_space"), exports);
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/on_address_space/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/on_address_space/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,oEAAkD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AttributeOperand, SimpleAttributeOperand } from "node-opcua-types";
|
|
2
2
|
import { Variant } from "node-opcua-variant";
|
|
3
|
-
import { FilterContext } from "./filter_context";
|
|
3
|
+
import type { FilterContext } from "./filter_context";
|
|
4
4
|
export declare function resolveOperand(context: FilterContext, operand: SimpleAttributeOperand | AttributeOperand): Variant;
|
package/dist/resolve_operand.js
CHANGED
|
@@ -29,7 +29,8 @@ function resolveOperand(context, operand) {
|
|
|
29
29
|
}
|
|
30
30
|
const nodeClass = context.getNodeClass(target);
|
|
31
31
|
if (nodeClass !== node_opcua_data_model_1.NodeClass.Variable) {
|
|
32
|
-
doDebug &&
|
|
32
|
+
doDebug &&
|
|
33
|
+
debugLog("resolveOperand: cannot find variable here but got nodeClass", node_opcua_data_model_1.NodeClass[nodeClass], browsePath.toString());
|
|
33
34
|
return new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.StatusCode, value: node_opcua_status_code_1.StatusCodes.BadNodeClassInvalid });
|
|
34
35
|
}
|
|
35
36
|
const value = context.readNodeValue(target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve_operand.js","sourceRoot":"","sources":["../source/resolve_operand.ts"],"names":[],"mappings":";;AAuBA,
|
|
1
|
+
{"version":3,"file":"resolve_operand.js","sourceRoot":"","sources":["../source/resolve_operand.ts"],"names":[],"mappings":";;AAuBA,wCA4BC;AAnDD,iEAAkD;AAClD,uDAAkF;AAElF,uGAAgG;AAChG,mEAAqD;AACrD,uDAA4E;AAC5E,2DAAuD;AAGvD,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,QAAQ,CAAC,CAAC;AAC7C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,QAAQ,CAAC,CAAC;AACzC,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,QAAQ,CAAC,CAAC;AAEzC,kGAAkG;AAClG,gFAAgF;AAChF,oHAAoH;AACpH,yDAAyD;AACzD,yBAAyB;AACzB,2DAA2D;AAC3D,QAAQ;AACR,gDAAgD;AAChD,IAAI;AAEJ,SAAgB,cAAc,CAAC,OAAsB,EAAE,OAAkD;IACrG,IAAI,OAAO,YAAY,yCAAsB,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAA,+EAAoC,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7G,MAAM,MAAM,GAAkB,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,IAAI,4BAAO,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,8FAA8F;QAClG,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,iCAAS,CAAC,QAAQ,EAAE,CAAC;YACnC,OAAO;gBACH,QAAQ,CACJ,6DAA6D,EAC7D,iCAAS,CAAC,SAAS,CAAC,EACpB,UAAU,CAAC,QAAQ,EAAE,CACxB,CAAC;YACN,OAAO,IAAI,4BAAO,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,oCAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,CAAC,OAAO,YAAY,mCAAgB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,UAAU,CAAC,yCAAyC,CAAC,CAAC;QACtD,OAAO,IAAI,4BAAO,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { QualifiedName, QualifiedNameOptions } from "node-opcua-data-model";
|
|
2
|
-
import { ContentFilterElement, ContentFilterOptions, EventFilter, SimpleAttributeOperand } from "./imports";
|
|
1
|
+
import { type QualifiedName, type QualifiedNameOptions } from "node-opcua-data-model";
|
|
2
|
+
import { ContentFilterElement, type ContentFilterOptions, EventFilter, SimpleAttributeOperand } from "./imports";
|
|
3
3
|
export declare function constructSimpleBrowsePath(a: string | string[] | (QualifiedNameOptions | string)[]): QualifiedName[];
|
|
4
4
|
export declare function constructSelectClause(arrayOfNames: string | string[] | (QualifiedNameOptions | string)[][]): SimpleAttributeOperand[];
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools_event_filter.js","sourceRoot":"","sources":["../source/tools_event_filter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"tools_event_filter.js","sourceRoot":"","sources":["../source/tools_event_filter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-service-filter",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.179.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module service-filter",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -11,23 +11,23 @@
|
|
|
11
11
|
"build": "tsc -b"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"node-opcua-address-space-base": "2.
|
|
15
|
-
"node-opcua-assert": "2.
|
|
16
|
-
"node-opcua-basic-types": "2.
|
|
17
|
-
"node-opcua-constants": "2.
|
|
18
|
-
"node-opcua-data-model": "2.
|
|
19
|
-
"node-opcua-data-value": "2.
|
|
20
|
-
"node-opcua-debug": "2.
|
|
21
|
-
"node-opcua-extension-object": "2.
|
|
22
|
-
"node-opcua-nodeid": "2.
|
|
23
|
-
"node-opcua-service-translate-browse-path": "2.
|
|
24
|
-
"node-opcua-status-code": "2.
|
|
25
|
-
"node-opcua-types": "2.
|
|
26
|
-
"node-opcua-variant": "2.
|
|
14
|
+
"node-opcua-address-space-base": "2.179.0",
|
|
15
|
+
"node-opcua-assert": "2.179.0",
|
|
16
|
+
"node-opcua-basic-types": "2.179.0",
|
|
17
|
+
"node-opcua-constants": "2.179.0",
|
|
18
|
+
"node-opcua-data-model": "2.179.0",
|
|
19
|
+
"node-opcua-data-value": "2.179.0",
|
|
20
|
+
"node-opcua-debug": "2.179.0",
|
|
21
|
+
"node-opcua-extension-object": "2.179.0",
|
|
22
|
+
"node-opcua-nodeid": "2.179.0",
|
|
23
|
+
"node-opcua-service-translate-browse-path": "2.179.0",
|
|
24
|
+
"node-opcua-status-code": "2.179.0",
|
|
25
|
+
"node-opcua-types": "2.179.0",
|
|
26
|
+
"node-opcua-variant": "2.179.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"node-opcua-numeric-range": "2.
|
|
30
|
-
"node-opcua-packet-analyzer": "2.
|
|
29
|
+
"node-opcua-numeric-range": "2.179.0",
|
|
30
|
+
"node-opcua-packet-analyzer": "2.179.0"
|
|
31
31
|
},
|
|
32
32
|
"author": "Etienne Rossignon",
|
|
33
33
|
"license": "MIT",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"internet of things"
|
|
45
45
|
],
|
|
46
46
|
"homepage": "http://node-opcua.github.io/",
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "c78c6ee424bae3c6e851fabd8e144390e2941f8a",
|
|
48
48
|
"files": [
|
|
49
49
|
"dist",
|
|
50
50
|
"source"
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-opcua-address-space
|
|
3
3
|
*/
|
|
4
|
+
|
|
5
|
+
import type { BaseNode, UAObjectType } from "node-opcua-address-space-base";
|
|
4
6
|
import { NodeClass } from "node-opcua-data-model";
|
|
5
|
-
import {
|
|
7
|
+
import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
|
|
6
8
|
import { constructBrowsePathFromQualifiedName } from "node-opcua-service-translate-browse-path";
|
|
7
|
-
import { StatusCode, StatusCodes } from "node-opcua-status-code";
|
|
8
|
-
import {
|
|
9
|
-
import { make_debugLog } from "node-opcua-debug";
|
|
9
|
+
import { type StatusCode, StatusCodes } from "node-opcua-status-code";
|
|
10
|
+
import type { SimpleAttributeOperand } from "node-opcua-types";
|
|
10
11
|
|
|
11
12
|
const debugLog = make_debugLog(__filename);
|
|
13
|
+
const doDebug = checkDebugFlag(__filename);
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
|
|
@@ -32,7 +34,8 @@ export function checkSelectClause(parentNode: BaseNode, selectClause: SimpleAttr
|
|
|
32
34
|
}
|
|
33
35
|
// ... and that node must be an ObjectType (an EventType)
|
|
34
36
|
if (eventTypeNode.nodeClass !== NodeClass.ObjectType) {
|
|
35
|
-
|
|
37
|
+
// c8 ignore next
|
|
38
|
+
doDebug && debugLog(" checkSelectClause", eventTypeNode.toString());
|
|
36
39
|
return StatusCodes.BadTypeMismatch;
|
|
37
40
|
}
|
|
38
41
|
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
+
import { NodeClass } from "node-opcua-data-model";
|
|
2
|
+
import { make_warningLog } from "node-opcua-debug";
|
|
3
|
+
import type { ExtensionObject } from "node-opcua-extension-object";
|
|
4
|
+
import { type NodeId, sameNodeId } from "node-opcua-nodeid";
|
|
5
|
+
import { type StatusCode, StatusCodes } from "node-opcua-status-code";
|
|
1
6
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
7
|
+
AttributeOperand,
|
|
8
|
+
type ContentFilter,
|
|
9
|
+
type ContentFilterElement,
|
|
10
|
+
ElementOperand,
|
|
11
|
+
type FilterOperand,
|
|
4
12
|
FilterOperator,
|
|
5
13
|
LiteralOperand,
|
|
6
|
-
SimpleAttributeOperand
|
|
7
|
-
FilterOperand,
|
|
8
|
-
AttributeOperand,
|
|
9
|
-
ElementOperand
|
|
14
|
+
SimpleAttributeOperand
|
|
10
15
|
} from "node-opcua-types";
|
|
11
|
-
import { ExtensionObject } from "node-opcua-extension-object";
|
|
12
16
|
import { DataType, Variant } from "node-opcua-variant";
|
|
13
|
-
import { NodeClass } from "node-opcua-data-model";
|
|
14
|
-
import { NodeId, sameNodeId } from "node-opcua-nodeid";
|
|
15
|
-
import { type StatusCode, StatusCodes } from "node-opcua-status-code";
|
|
16
|
-
import { make_warningLog } from "node-opcua-debug";
|
|
17
17
|
//
|
|
18
|
-
import { FilterContext } from "./filter_context";
|
|
18
|
+
import type { FilterContext } from "./filter_context";
|
|
19
19
|
import { resolveOperand } from "./resolve_operand";
|
|
20
20
|
|
|
21
21
|
const warningLog = make_warningLog("Filter");
|
|
22
22
|
|
|
23
|
-
function _coerceToBoolean(value: Variant | string| number | null
|
|
23
|
+
function _coerceToBoolean(value: Variant | string | number | null): boolean {
|
|
24
24
|
if (value instanceof Variant) {
|
|
25
25
|
return !!value.value;
|
|
26
26
|
}
|
|
@@ -62,24 +62,30 @@ function _coerceToCompareable(value: Variant): string | number {
|
|
|
62
62
|
function _coerceToEqualable(value: Variant): Variant {
|
|
63
63
|
return value;
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
// TIn varies by call site: most coerce functions only ever see a Variant (from an
|
|
66
|
+
// AttributeOperand/SimpleAttributeOperand/LiteralOperand), but an ElementOperand resolves
|
|
67
|
+
// through checkFilterAtIndex and produces a boolean instead. Rather than force every coerce
|
|
68
|
+
// function to declare a Variant | boolean | null param it mostly doesn't need, TIn is
|
|
69
|
+
// inferred from whichever coerce function is actually passed, and the casts below make that
|
|
70
|
+
// call-site contract explicit instead of silently typing the whole function `any`.
|
|
71
|
+
function evaluateOperand<TIn, T>(
|
|
66
72
|
filterContext: FilterContext,
|
|
67
73
|
filter: ContentFilter,
|
|
68
74
|
operand: FilterOperand,
|
|
69
|
-
coerce: (value:
|
|
75
|
+
coerce: (value: TIn) => T
|
|
70
76
|
): T {
|
|
71
77
|
if (operand instanceof AttributeOperand) {
|
|
72
|
-
return coerce(resolveOperand(filterContext, operand));
|
|
78
|
+
return coerce(resolveOperand(filterContext, operand) as TIn);
|
|
73
79
|
} else if (operand instanceof SimpleAttributeOperand) {
|
|
74
|
-
return coerce(resolveOperand(filterContext, operand));
|
|
80
|
+
return coerce(resolveOperand(filterContext, operand) as TIn);
|
|
75
81
|
} else if (operand instanceof LiteralOperand) {
|
|
76
|
-
return coerce(operand.value);
|
|
82
|
+
return coerce(operand.value as TIn);
|
|
77
83
|
} else if (operand instanceof ElementOperand) {
|
|
78
84
|
const index = operand.index;
|
|
79
|
-
return coerce(checkFilterAtIndex(filterContext, filter, index));
|
|
85
|
+
return coerce(checkFilterAtIndex(filterContext, filter, index) as TIn);
|
|
80
86
|
}
|
|
81
87
|
// istanbul ignore
|
|
82
|
-
return coerce(null);
|
|
88
|
+
return coerce(null as TIn);
|
|
83
89
|
}
|
|
84
90
|
|
|
85
91
|
function checkOfType(filterContext: FilterContext, ofType: ExtensionObject | null): boolean {
|
|
@@ -90,7 +96,7 @@ function checkOfType(filterContext: FilterContext, ofType: ExtensionObject | nul
|
|
|
90
96
|
}
|
|
91
97
|
// c8 ignore next
|
|
92
98
|
if (ofType.value.dataType !== DataType.NodeId) {
|
|
93
|
-
warningLog(
|
|
99
|
+
warningLog(`invalid operand type (expecting NodeId); got ${DataType[ofType.value.dataType]}`);
|
|
94
100
|
return false;
|
|
95
101
|
}
|
|
96
102
|
|
|
@@ -108,7 +114,7 @@ function checkOfType(filterContext: FilterContext, ofType: ExtensionObject | nul
|
|
|
108
114
|
ofTypeNodeNodeClass !== NodeClass.DataType &&
|
|
109
115
|
ofTypeNodeNodeClass !== NodeClass.ReferenceType
|
|
110
116
|
) {
|
|
111
|
-
warningLog(
|
|
117
|
+
warningLog(`operand should be a ObjectType ${ofTypeNode.toString()}`);
|
|
112
118
|
return false;
|
|
113
119
|
}
|
|
114
120
|
|
|
@@ -119,10 +125,11 @@ function checkOfType(filterContext: FilterContext, ofType: ExtensionObject | nul
|
|
|
119
125
|
let sourceTypeDefinition = filterContext.eventSource;
|
|
120
126
|
const sourceNodeClass = filterContext.getNodeClass(filterContext.eventSource);
|
|
121
127
|
if (sourceNodeClass === NodeClass.Object || sourceNodeClass === NodeClass.Variable) {
|
|
122
|
-
|
|
123
|
-
if (!
|
|
128
|
+
const typeDefinition = filterContext.getTypeDefinition(filterContext.eventSource);
|
|
129
|
+
if (!typeDefinition) {
|
|
124
130
|
return false;
|
|
125
131
|
}
|
|
132
|
+
sourceTypeDefinition = typeDefinition;
|
|
126
133
|
}
|
|
127
134
|
return filterContext.isSubtypeOf(sourceTypeDefinition, ofTypeNode);
|
|
128
135
|
}
|
|
@@ -176,7 +183,6 @@ function checkGreaterThanOrEqual(filterContext: FilterContext, filter: ContentFi
|
|
|
176
183
|
}
|
|
177
184
|
|
|
178
185
|
const isVariantEqual = (a: Variant, b: Variant): boolean => {
|
|
179
|
-
|
|
180
186
|
switch (a.dataType) {
|
|
181
187
|
case DataType.Null:
|
|
182
188
|
return b.dataType === DataType.Null;
|
|
@@ -198,7 +204,7 @@ const isVariantEqual = (a: Variant, b: Variant): boolean => {
|
|
|
198
204
|
case DataType.DateTime:
|
|
199
205
|
return (a.value as Date)?.getTime() === (b.value as Date).getTime();
|
|
200
206
|
case DataType.Guid:
|
|
201
|
-
return a.value.toLowerCase() ===
|
|
207
|
+
return a.value.toLowerCase() === `${b.value || ""}`.toLowerCase();
|
|
202
208
|
case DataType.ByteString:
|
|
203
209
|
if (b.dataType !== DataType.ByteString) {
|
|
204
210
|
return false;
|
|
@@ -212,10 +218,11 @@ const isVariantEqual = (a: Variant, b: Variant): boolean => {
|
|
|
212
218
|
return a.value?.namespaceIndex === b.value?.namespaceIndex && a.value?.name === b.value?.name;
|
|
213
219
|
case DataType.ExtensionObject:
|
|
214
220
|
console.log("isVariantEqual: Not implemented for DataType.ExtensionObject");
|
|
221
|
+
return false;
|
|
215
222
|
default:
|
|
216
223
|
return false; // not sure how to do
|
|
217
224
|
}
|
|
218
|
-
}
|
|
225
|
+
};
|
|
219
226
|
|
|
220
227
|
function checkEquals(filterContext: FilterContext, filter: ContentFilter, filteredOperands: FilterOperand[]): boolean {
|
|
221
228
|
const operandA = evaluateOperand(filterContext, filter, filteredOperands[0], _coerceToEqualable);
|
|
@@ -254,7 +261,7 @@ function checkInList(context: FilterContext, filterOperands: FilterOperand[]): b
|
|
|
254
261
|
// c8 ignore next
|
|
255
262
|
if (!(operand0 instanceof SimpleAttributeOperand)) {
|
|
256
263
|
// unsupported case
|
|
257
|
-
warningLog(
|
|
264
|
+
warningLog(`FilterOperator.InList operand0 is not a SimpleAttributeOperand ${operand0.constructor.name}`);
|
|
258
265
|
return false;
|
|
259
266
|
}
|
|
260
267
|
const value = resolveOperand(context, operand0);
|
|
@@ -292,7 +299,6 @@ function checkInList(context: FilterContext, filterOperands: FilterOperand[]): b
|
|
|
292
299
|
return false;
|
|
293
300
|
}
|
|
294
301
|
|
|
295
|
-
// eslint-disable-next-line complexity
|
|
296
302
|
function checkFilterAtIndex(filterContext: FilterContext, filter: ContentFilter, index: number): boolean {
|
|
297
303
|
if (!filter.elements || filter.elements.length === 0) {
|
|
298
304
|
return true;
|
|
@@ -327,17 +333,9 @@ function checkFilterAtIndex(filterContext: FilterContext, filter: ContentFilter,
|
|
|
327
333
|
return checkNot(filterContext, filter, filterOperands);
|
|
328
334
|
|
|
329
335
|
case FilterOperator.OfType:
|
|
330
|
-
return checkOfType(filterContext, element.filterOperands
|
|
336
|
+
return checkOfType(filterContext, element.filterOperands?.[0] ?? null);
|
|
331
337
|
case FilterOperator.InList:
|
|
332
338
|
return checkInList(filterContext, filterOperands);
|
|
333
|
-
|
|
334
|
-
case FilterOperator.RelatedTo:
|
|
335
|
-
case FilterOperator.Like:
|
|
336
|
-
case FilterOperator.BitwiseAnd:
|
|
337
|
-
case FilterOperator.BitwiseOr:
|
|
338
|
-
case FilterOperator.Cast:
|
|
339
|
-
case FilterOperator.InView:
|
|
340
|
-
case FilterOperator.IsNull:
|
|
341
339
|
default:
|
|
342
340
|
// from Spec OPC Unified Architecture, Part 4 133 Release 1.04
|
|
343
341
|
// Any basic FilterOperator in Table 119 may be used in the whereClause, however, only the
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { assert } from "node-opcua-assert";
|
|
2
2
|
import { AttributeIds } from "node-opcua-data-model";
|
|
3
3
|
import { make_warningLog } from "node-opcua-debug";
|
|
4
|
-
import {
|
|
4
|
+
import { resolveNodeId, sameNodeId } from "node-opcua-nodeid";
|
|
5
5
|
import { SimpleAttributeOperand } from "node-opcua-types";
|
|
6
6
|
import { DataType, Variant } from "node-opcua-variant";
|
|
7
|
-
import { FilterContext } from "./filter_context";
|
|
7
|
+
import type { FilterContext } from "./filter_context";
|
|
8
8
|
import { resolveOperand } from "./resolve_operand";
|
|
9
9
|
|
|
10
10
|
const warningLog = make_warningLog("FILTER");
|
|
@@ -27,7 +27,7 @@ export function extractEventField(context: FilterContext, operand: SimpleAttribu
|
|
|
27
27
|
// but could be on of its derived type. for instance ns=0;i=2881 => AcknowledgeableConditionType
|
|
28
28
|
if (!context.isSubtypeOf(operand.typeDefinitionId, conditionTypeNodeId)) {
|
|
29
29
|
warningLog(" ", operand.typeDefinitionId.toString());
|
|
30
|
-
warningLog(
|
|
30
|
+
warningLog(`this case is not handled yet : selectClause.typeDefinitionId = ${operand.typeDefinitionId.toString()}`);
|
|
31
31
|
warningLog(operand.toString());
|
|
32
32
|
return new Variant({ dataType: DataType.NodeId, value: context.eventSource });
|
|
33
33
|
}
|
package/source/filter_context.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { NodeId, NodeIdLike } from "node-opcua-nodeid";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { DataType, Variant } from "node-opcua-variant";
|
|
1
|
+
import type { NodeId, NodeIdLike } from "node-opcua-nodeid";
|
|
2
|
+
import type { BrowsePath, NodeClass } from "node-opcua-types";
|
|
3
|
+
import type { Variant } from "node-opcua-variant";
|
|
5
4
|
|
|
6
5
|
export interface FilterContext {
|
|
7
6
|
readonly eventSource: NodeId;
|
|
@@ -12,4 +11,3 @@ export interface FilterContext {
|
|
|
12
11
|
getNodeClass(nodeId: NodeId): NodeClass;
|
|
13
12
|
browsePath(browsePath: BrowsePath): NodeId | null;
|
|
14
13
|
}
|
|
15
|
-
|
package/source/imports.ts
CHANGED
|
@@ -1,33 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-opcua-service-filter
|
|
3
3
|
*/
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
FilterOperator,
|
|
7
|
-
|
|
4
|
+
export {
|
|
8
5
|
AttributeOperand,
|
|
9
|
-
|
|
10
|
-
FilterOperand,
|
|
11
|
-
LiteralOperand,
|
|
12
|
-
SimpleAttributeOperand,
|
|
13
|
-
|
|
14
|
-
MonitoringFilter,
|
|
15
|
-
|
|
16
|
-
ContentFilterElement,
|
|
6
|
+
AttributeOperandOptions,
|
|
17
7
|
ContentFilter,
|
|
18
|
-
|
|
8
|
+
ContentFilterElement,
|
|
9
|
+
ContentFilterElementOptions,
|
|
10
|
+
ContentFilterOptions,
|
|
19
11
|
DataChangeFilter,
|
|
20
|
-
|
|
21
|
-
AttributeOperandOptions,
|
|
12
|
+
ElementOperand,
|
|
22
13
|
ElementOperandOptions,
|
|
14
|
+
EventFilter,
|
|
15
|
+
EventFilterOptions,
|
|
16
|
+
FilterOperand,
|
|
23
17
|
FilterOperandOptions,
|
|
18
|
+
FilterOperator,
|
|
19
|
+
LiteralOperand,
|
|
24
20
|
LiteralOperandOptions,
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
MonitoringFilter,
|
|
27
22
|
MonitoringFilterOptions,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
ContentFilterOptions,
|
|
31
|
-
EventFilterOptions
|
|
32
|
-
|
|
23
|
+
SimpleAttributeOperand,
|
|
24
|
+
SimpleAttributeOperandOptions
|
|
33
25
|
} from "node-opcua-types";
|
package/source/index.ts
CHANGED
|
@@ -8,9 +8,9 @@ export * from "./filter_context";
|
|
|
8
8
|
export * from "./imports";
|
|
9
9
|
export * from "./make_content_filter";
|
|
10
10
|
export * from "./on_address_space/extract_event_fields";
|
|
11
|
+
export * from "./on_address_space/filter_context_on_address_space";
|
|
11
12
|
export * from "./resolve_operand";
|
|
12
13
|
export * from "./tools_event_filter";
|
|
13
|
-
export * from "./on_address_space/filter_context_on_address_space";
|
|
14
14
|
|
|
15
15
|
// The SimpleAttributeOperand is a simplified form of the AttributeOperand and all of the rules that
|
|
16
16
|
// apply to the AttributeOperand also apply to the SimpleAttributeOperand. The examples provided in
|
|
@@ -2,20 +2,16 @@
|
|
|
2
2
|
* @module node-opcua-service-filter
|
|
3
3
|
*/
|
|
4
4
|
import { DataType } from "node-opcua-basic-types";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { NodeIdLike, resolveNodeId } from "node-opcua-nodeid";
|
|
8
|
-
import { ContentFilterElementResult } from "node-opcua-types";
|
|
5
|
+
import { type AttributeIds, coerceQualifiedName } from "node-opcua-data-model";
|
|
6
|
+
import { type NodeIdLike, resolveNodeId } from "node-opcua-nodeid";
|
|
9
7
|
import { Variant } from "node-opcua-variant";
|
|
10
8
|
|
|
11
9
|
import {
|
|
12
|
-
AttributeOperand,
|
|
10
|
+
type AttributeOperand,
|
|
13
11
|
ContentFilter,
|
|
14
12
|
ContentFilterElement,
|
|
15
|
-
ContentFilterElementOptions,
|
|
16
|
-
ContentFilterOptions,
|
|
13
|
+
type ContentFilterElementOptions,
|
|
17
14
|
ElementOperand,
|
|
18
|
-
EventFilter,
|
|
19
15
|
FilterOperator,
|
|
20
16
|
LiteralOperand,
|
|
21
17
|
SimpleAttributeOperand
|
|
@@ -36,10 +32,10 @@ export function ofType(nodeId: NodeIdLike): ContentFilterElement {
|
|
|
36
32
|
return element;
|
|
37
33
|
}
|
|
38
34
|
|
|
39
|
-
export function l(dataType: DataType, value:
|
|
35
|
+
export function l(dataType: DataType, value: unknown): LiteralOperand {
|
|
40
36
|
switch (dataType) {
|
|
41
37
|
case DataType.NodeId:
|
|
42
|
-
value = resolveNodeId(value);
|
|
38
|
+
value = resolveNodeId(value as NodeIdLike);
|
|
43
39
|
}
|
|
44
40
|
|
|
45
41
|
return new LiteralOperand({ value: new Variant({ dataType, value }) });
|
|
@@ -114,7 +110,7 @@ export function makeContentFilterElements(o: ContentFilterElement): ContentFilte
|
|
|
114
110
|
const op = element.filterOperands[i];
|
|
115
111
|
if (op instanceof ContentFilterElement) {
|
|
116
112
|
const index = pushElement(op);
|
|
117
|
-
element.filterOperands
|
|
113
|
+
element.filterOperands[i] = new ElementOperand({ index });
|
|
118
114
|
}
|
|
119
115
|
}
|
|
120
116
|
}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { SimpleAttributeOperand } from "node-opcua-types";
|
|
5
|
-
import { Variant } from "node-opcua-variant";
|
|
1
|
+
import type { IEventData, ISessionContext } from "node-opcua-address-space-base";
|
|
2
|
+
import type { SimpleAttributeOperand } from "node-opcua-types";
|
|
3
|
+
import type { Variant } from "node-opcua-variant";
|
|
6
4
|
//
|
|
7
5
|
import { extractEventFieldsBase } from "../extract_event_field";
|
|
8
6
|
import { FilterContextOnAddressSpace } from "./filter_context_on_address_space";
|
|
9
7
|
|
|
10
|
-
|
|
11
8
|
/**
|
|
12
9
|
|
|
13
10
|
* extract a array of eventFields from a event node, matching the selectClauses
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
2
|
BaseNode,
|
|
3
3
|
IAddressSpace,
|
|
4
4
|
IEventData,
|
|
@@ -10,22 +10,24 @@ import {
|
|
|
10
10
|
UAVariable,
|
|
11
11
|
UAVariableType
|
|
12
12
|
} from "node-opcua-address-space-base";
|
|
13
|
-
import {
|
|
13
|
+
import { NodeClass } from "node-opcua-data-model";
|
|
14
|
+
import type { DataValue } from "node-opcua-data-value";
|
|
14
15
|
import { make_warningLog } from "node-opcua-debug";
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { Variant, DataType } from "node-opcua-variant";
|
|
19
|
-
import { DataValue } from "node-opcua-data-value";
|
|
16
|
+
import { coerceNodeId, NodeId, type NodeIdLike, sameNodeId } from "node-opcua-nodeid";
|
|
17
|
+
import type { BrowsePath } from "node-opcua-types";
|
|
18
|
+
import { DataType, Variant } from "node-opcua-variant";
|
|
20
19
|
//
|
|
21
|
-
import { FilterContext } from "../filter_context";
|
|
20
|
+
import type { FilterContext } from "../filter_context";
|
|
22
21
|
|
|
23
22
|
const warningLog = make_warningLog("Filter");
|
|
24
23
|
|
|
25
24
|
export class FilterContextOnAddressSpace implements FilterContext {
|
|
26
25
|
public eventSource: NodeId;
|
|
27
26
|
|
|
28
|
-
constructor(
|
|
27
|
+
constructor(
|
|
28
|
+
private sessionContext: ISessionContext,
|
|
29
|
+
private eventData: IEventData
|
|
30
|
+
) {
|
|
29
31
|
this.eventSource = this.eventData.getEventDataSource()?.nodeId || NodeId.nullNodeId;
|
|
30
32
|
}
|
|
31
33
|
|
|
@@ -98,17 +100,11 @@ export class FilterContextOnAddressSpace implements FilterContext {
|
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
public browsePath(browsePath: BrowsePath): NodeId | null {
|
|
101
|
-
|
|
102
103
|
// delegate to eventData if appropriate
|
|
103
104
|
if (sameNodeId(browsePath.startingNode, this.eventSource)) {
|
|
104
105
|
const browseResult = this.eventData._browse(browsePath);
|
|
105
|
-
if (
|
|
106
|
-
browseResult
|
|
107
|
-
browseResult.statusCode.isGood() &&
|
|
108
|
-
browseResult.targets &&
|
|
109
|
-
browseResult.targets.length === 1
|
|
110
|
-
) {
|
|
111
|
-
return browseResult.targets![0].targetId;
|
|
106
|
+
if (browseResult?.statusCode.isGood() && browseResult.targets && browseResult.targets.length === 1) {
|
|
107
|
+
return browseResult.targets?.[0].targetId;
|
|
112
108
|
}
|
|
113
109
|
}
|
|
114
110
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { NodeClass } from "node-opcua-data-model";
|
|
2
2
|
import { checkDebugFlag, make_debugLog, make_warningLog } from "node-opcua-debug";
|
|
3
|
-
import { NodeId } from "node-opcua-nodeid";
|
|
4
|
-
import { constructBrowsePathFromQualifiedName
|
|
3
|
+
import type { NodeId } from "node-opcua-nodeid";
|
|
4
|
+
import { constructBrowsePathFromQualifiedName } from "node-opcua-service-translate-browse-path";
|
|
5
5
|
import { StatusCodes } from "node-opcua-status-code";
|
|
6
|
-
import {
|
|
6
|
+
import { AttributeOperand, SimpleAttributeOperand } from "node-opcua-types";
|
|
7
7
|
import { DataType, Variant } from "node-opcua-variant";
|
|
8
|
-
import { FilterContext } from "./filter_context";
|
|
8
|
+
import type { FilterContext } from "./filter_context";
|
|
9
9
|
|
|
10
10
|
const warningLog = make_warningLog("FILTER");
|
|
11
11
|
const debugLog = make_debugLog("FILTER");
|
|
@@ -32,7 +32,12 @@ export function resolveOperand(context: FilterContext, operand: SimpleAttributeO
|
|
|
32
32
|
}
|
|
33
33
|
const nodeClass = context.getNodeClass(target);
|
|
34
34
|
if (nodeClass !== NodeClass.Variable) {
|
|
35
|
-
doDebug &&
|
|
35
|
+
doDebug &&
|
|
36
|
+
debugLog(
|
|
37
|
+
"resolveOperand: cannot find variable here but got nodeClass",
|
|
38
|
+
NodeClass[nodeClass],
|
|
39
|
+
browsePath.toString()
|
|
40
|
+
);
|
|
36
41
|
return new Variant({ dataType: DataType.StatusCode, value: StatusCodes.BadNodeClassInvalid });
|
|
37
42
|
}
|
|
38
43
|
const value = context.readNodeValue(target);
|
|
@@ -2,14 +2,9 @@
|
|
|
2
2
|
* @module node-opcua-service-filter
|
|
3
3
|
*/
|
|
4
4
|
import { ObjectTypeIds } from "node-opcua-constants";
|
|
5
|
-
import {
|
|
6
|
-
AttributeIds,
|
|
7
|
-
QualifiedName,
|
|
8
|
-
QualifiedNameOptions,
|
|
9
|
-
coerceQualifiedName,
|
|
10
|
-
} from "node-opcua-data-model";
|
|
5
|
+
import { AttributeIds, coerceQualifiedName, type QualifiedName, type QualifiedNameOptions } from "node-opcua-data-model";
|
|
11
6
|
|
|
12
|
-
import { ContentFilter, ContentFilterElement, ContentFilterOptions, EventFilter, SimpleAttributeOperand } from "./imports";
|
|
7
|
+
import { ContentFilter, ContentFilterElement, type ContentFilterOptions, EventFilter, SimpleAttributeOperand } from "./imports";
|
|
13
8
|
|
|
14
9
|
function coerceQualifiedName2(a: string | QualifiedNameOptions) {
|
|
15
10
|
if (typeof a === "string") return coerceQualifiedName(a);
|