node-opcua-service-filter 2.183.0 → 2.184.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 +1 -0
- package/dist/check_event_clause.d.ts.map +1 -0
- package/dist/check_event_clause.js +23 -19
- package/dist/check_event_clause.js.map +1 -1
- package/dist/check_where_clause.d.ts +1 -0
- package/dist/check_where_clause.d.ts.map +1 -0
- package/dist/check_where_clause.js +112 -116
- package/dist/check_where_clause.js.map +1 -1
- package/dist/extract_event_field.d.ts +2 -1
- package/dist/extract_event_field.d.ts.map +1 -0
- package/dist/extract_event_field.js +14 -42
- package/dist/extract_event_field.js.map +1 -1
- package/dist/filter_context.d.ts +1 -0
- package/dist/filter_context.d.ts.map +1 -0
- package/dist/filter_context.js +1 -2
- package/dist/imports.d.ts +1 -0
- package/dist/imports.d.ts.map +1 -0
- package/dist/imports.js +1 -15
- package/dist/imports.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -26
- package/dist/index.js.map +1 -1
- package/dist/make_content_filter.d.ts +1 -0
- package/dist/make_content_filter.d.ts.map +1 -0
- package/dist/make_content_filter.js +47 -62
- package/dist/make_content_filter.js.map +1 -1
- package/dist/on_address_space/extract_event_fields.d.ts +1 -0
- package/dist/on_address_space/extract_event_fields.d.ts.map +1 -0
- package/dist/on_address_space/extract_event_fields.js +5 -8
- package/dist/on_address_space/extract_event_fields.js.map +1 -1
- package/dist/on_address_space/filter_context_on_address_space.d.ts +1 -0
- package/dist/on_address_space/filter_context_on_address_space.d.ts.map +1 -0
- package/dist/on_address_space/filter_context_on_address_space.js +21 -25
- package/dist/on_address_space/filter_context_on_address_space.js.map +1 -1
- package/dist/on_address_space/index.d.ts +1 -0
- package/dist/on_address_space/index.d.ts.map +1 -0
- package/dist/on_address_space/index.js +2 -18
- package/dist/on_address_space/index.js.map +1 -1
- package/dist/resolve_operand.d.ts +14 -0
- package/dist/resolve_operand.d.ts.map +1 -0
- package/dist/resolve_operand.js +66 -21
- package/dist/resolve_operand.js.map +1 -1
- package/dist/tools_event_filter.d.ts +1 -0
- package/dist/tools_event_filter.d.ts.map +1 -0
- package/dist/tools_event_filter.js +17 -22
- package/dist/tools_event_filter.js.map +1 -1
- package/package.json +18 -17
- package/source/check_event_clause.ts +11 -2
- package/source/check_where_clause.ts +2 -2
- package/source/extract_event_field.ts +7 -33
- package/source/resolve_operand.ts +53 -2
|
@@ -1,52 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.extractEventFieldsBase = extractEventFieldsBase;
|
|
5
|
-
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
6
|
-
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
7
|
-
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
8
|
-
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
9
|
-
const node_opcua_types_1 = require("node-opcua-types");
|
|
10
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
11
|
-
const resolve_operand_js_1 = require("./resolve_operand.js");
|
|
12
|
-
const warningLog = (0, node_opcua_debug_1.make_warningLog)("FILTER");
|
|
13
|
-
const conditionTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("ConditionType");
|
|
1
|
+
import { assert } from "node-opcua-assert";
|
|
2
|
+
import { SimpleAttributeOperand } from "node-opcua-types";
|
|
3
|
+
import { resolveConditionIdOperand, resolveOperand } from "./resolve_operand.js";
|
|
14
4
|
/**
|
|
15
5
|
*
|
|
16
6
|
* extract a eventField from a event node, matching the given selectClause
|
|
17
7
|
*/
|
|
18
|
-
function extractEventField(context, operand) {
|
|
19
|
-
|
|
8
|
+
export function extractEventField(context, operand) {
|
|
9
|
+
assert(operand instanceof SimpleAttributeOperand);
|
|
20
10
|
operand.browsePath = operand.browsePath || [];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// but could be on of its derived type. for instance ns=0;i=2881 => AcknowledgeableConditionType
|
|
27
|
-
if (!context.isSubtypeOf(operand.typeDefinitionId, conditionTypeNodeId)) {
|
|
28
|
-
warningLog(" ", operand.typeDefinitionId.toString());
|
|
29
|
-
warningLog(`this case is not handled yet : selectClause.typeDefinitionId = ${operand.typeDefinitionId.toString()}`);
|
|
30
|
-
warningLog(operand.toString());
|
|
31
|
-
return new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.NodeId, value: context.eventSource });
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
const eventSourceTypeDefinition = context.getTypeDefinition(context.eventSource);
|
|
35
|
-
if (!eventSourceTypeDefinition) {
|
|
36
|
-
// eventSource is a EventType class
|
|
37
|
-
return new node_opcua_variant_1.Variant();
|
|
38
|
-
}
|
|
39
|
-
if (!context.isSubtypeOf(eventSourceTypeDefinition, conditionTypeNodeId)) {
|
|
40
|
-
return new node_opcua_variant_1.Variant();
|
|
41
|
-
}
|
|
42
|
-
// Yeh : our EventType is a Condition Type !
|
|
43
|
-
return new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.NodeId, value: context.eventSource });
|
|
11
|
+
// the ConditionId shape (empty browsePath, attributeId NodeId) is resolved the same way here
|
|
12
|
+
// (delivery) and in resolveOperand (where-clause evaluation) - see resolveConditionIdOperand.
|
|
13
|
+
const conditionIdValue = resolveConditionIdOperand(context, operand);
|
|
14
|
+
if (conditionIdValue) {
|
|
15
|
+
return conditionIdValue;
|
|
44
16
|
}
|
|
45
|
-
return
|
|
17
|
+
return resolveOperand(context, operand);
|
|
46
18
|
}
|
|
47
|
-
function extractEventFieldsBase(context, selectClauses) {
|
|
48
|
-
|
|
49
|
-
|
|
19
|
+
export function extractEventFieldsBase(context, selectClauses) {
|
|
20
|
+
assert(Array.isArray(selectClauses));
|
|
21
|
+
assert(selectClauses.length === 0 || selectClauses[0] instanceof SimpleAttributeOperand);
|
|
50
22
|
return selectClauses.map(extractEventField.bind(null, context));
|
|
51
23
|
}
|
|
52
24
|
//# sourceMappingURL=extract_event_field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract_event_field.js","sourceRoot":"","sources":["../source/extract_event_field.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extract_event_field.js","sourceRoot":"","sources":["../source/extract_event_field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEjF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAsB,EAAE,OAA+B;IACrF,MAAM,CAAC,OAAO,YAAY,sBAAsB,CAAC,CAAC;IAElD,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IAE9C,6FAA6F;IAC7F,8FAA8F;IAC9F,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAsB,EAAE,aAAuC;IAClG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,YAAY,sBAAsB,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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter_context.d.ts","sourceRoot":"","sources":["../source/filter_context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACvD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEjD,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACrD"}
|
package/dist/filter_context.js
CHANGED
package/dist/imports.d.ts
CHANGED
|
@@ -3,3 +3,4 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export type { AttributeOperandOptions, ContentFilterElementOptions, ContentFilterOptions, ElementOperandOptions, EventFilterOptions, FilterOperandOptions, LiteralOperandOptions, MonitoringFilterOptions, SimpleAttributeOperandOptions } from "node-opcua-types";
|
|
5
5
|
export { AttributeOperand, ContentFilter, ContentFilterElement, DataChangeFilter, ElementOperand, EventFilter, FilterOperand, FilterOperator, LiteralOperand, MonitoringFilter, SimpleAttributeOperand } from "node-opcua-types";
|
|
6
|
+
//# sourceMappingURL=imports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../source/imports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACR,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAChC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,kBAAkB,CAAC"}
|
package/dist/imports.js
CHANGED
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* @module node-opcua-service-filter
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
exports.SimpleAttributeOperand = exports.MonitoringFilter = exports.LiteralOperand = exports.FilterOperator = exports.FilterOperand = exports.EventFilter = exports.ElementOperand = exports.DataChangeFilter = exports.ContentFilterElement = exports.ContentFilter = exports.AttributeOperand = void 0;
|
|
7
|
-
var node_opcua_types_1 = require("node-opcua-types");
|
|
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; } });
|
|
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; } });
|
|
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; } });
|
|
16
|
-
Object.defineProperty(exports, "LiteralOperand", { enumerable: true, get: function () { return node_opcua_types_1.LiteralOperand; } });
|
|
17
|
-
Object.defineProperty(exports, "MonitoringFilter", { enumerable: true, get: function () { return node_opcua_types_1.MonitoringFilter; } });
|
|
18
|
-
Object.defineProperty(exports, "SimpleAttributeOperand", { enumerable: true, get: function () { return node_opcua_types_1.SimpleAttributeOperand; } });
|
|
4
|
+
export { AttributeOperand, ContentFilter, ContentFilterElement, DataChangeFilter, ElementOperand, EventFilter, FilterOperand, FilterOperator, LiteralOperand, MonitoringFilter, SimpleAttributeOperand } from "node-opcua-types";
|
|
19
5
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../source/imports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,kBAAkB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uDAAuD,CAAC;AACtE,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,32 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
1
|
/**
|
|
18
2
|
* @module node-opcua-service-filter
|
|
19
3
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
4
|
+
export * from "./check_event_clause.js";
|
|
5
|
+
export * from "./check_where_clause.js";
|
|
6
|
+
export * from "./extract_event_field.js";
|
|
7
|
+
export * from "./filter_context.js";
|
|
8
|
+
export * from "./imports.js";
|
|
9
|
+
export * from "./make_content_filter.js";
|
|
10
|
+
export * from "./on_address_space/extract_event_fields.js";
|
|
11
|
+
export * from "./on_address_space/filter_context_on_address_space.js";
|
|
12
|
+
export * from "./resolve_operand.js";
|
|
13
|
+
export * from "./tools_event_filter.js";
|
|
30
14
|
// The SimpleAttributeOperand is a simplified form of the AttributeOperand and all of the rules that
|
|
31
15
|
// apply to the AttributeOperand also apply to the SimpleAttributeOperand. The examples provided in
|
|
32
16
|
// 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":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uDAAuD,CAAC;AACtE,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AAExC,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"}
|
|
@@ -20,3 +20,4 @@ export declare function inList(a: A, l: A[]): ContentFilterElement;
|
|
|
20
20
|
export declare function makeContentFilterElements(o: ContentFilterElement): ContentFilterElement[];
|
|
21
21
|
export declare function makeContentFilter(o: ContentFilterElementOptions): ContentFilter;
|
|
22
22
|
export {};
|
|
23
|
+
//# sourceMappingURL=make_content_filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make_content_filter.d.ts","sourceRoot":"","sources":["../source/make_content_filter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,YAAY,EAAuB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EACH,KAAK,gBAAgB,EACrB,aAAa,EACb,oBAAoB,EACpB,KAAK,2BAA2B,EAGhC,cAAc,EACd,sBAAsB,EACzB,MAAM,cAAc,CAAC;AAEtB,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,oBAAoB,CAa/D;AAED,wBAAgB,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,cAAc,CAOpE;AACD,wBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,cAAc,CAE/C;AAED,wBAAgB,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAKjF;AAED,KAAK,CAAC,GAAG,cAAc,GAAG,sBAAsB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAE3F,wBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAKnD;AACD,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAKpD;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAKzD;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAKhE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAKnE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAK5D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,wBAKlC;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,CAoBzF;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,2BAA2B,GAAG,aAAa,CAI/E"}
|
|
@@ -1,99 +1,84 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ofType = ofType;
|
|
4
|
-
exports.l = l;
|
|
5
|
-
exports.n = n;
|
|
6
|
-
exports.s = s;
|
|
7
|
-
exports.or = or;
|
|
8
|
-
exports.and = and;
|
|
9
|
-
exports.lessThan = lessThan;
|
|
10
|
-
exports.LessThanOrEqual = LessThanOrEqual;
|
|
11
|
-
exports.greaterThanOrEqual = greaterThanOrEqual;
|
|
12
|
-
exports.greaterThan = greaterThan;
|
|
13
|
-
exports.inList = inList;
|
|
14
|
-
exports.makeContentFilterElements = makeContentFilterElements;
|
|
15
|
-
exports.makeContentFilter = makeContentFilter;
|
|
16
1
|
/**
|
|
17
2
|
* @module node-opcua-service-filter
|
|
18
3
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
function ofType(nodeId) {
|
|
25
|
-
const element = new
|
|
26
|
-
filterOperator:
|
|
4
|
+
import { DataType } from "node-opcua-basic-types";
|
|
5
|
+
import { coerceQualifiedName } from "node-opcua-data-model";
|
|
6
|
+
import { resolveNodeId } from "node-opcua-nodeid";
|
|
7
|
+
import { Variant } from "node-opcua-variant";
|
|
8
|
+
import { ContentFilter, ContentFilterElement, ElementOperand, FilterOperator, LiteralOperand, SimpleAttributeOperand } from "./imports.js";
|
|
9
|
+
export function ofType(nodeId) {
|
|
10
|
+
const element = new ContentFilterElement({
|
|
11
|
+
filterOperator: FilterOperator.OfType,
|
|
27
12
|
filterOperands: [
|
|
28
|
-
new
|
|
13
|
+
new LiteralOperand({
|
|
29
14
|
value: {
|
|
30
|
-
dataType:
|
|
31
|
-
value:
|
|
15
|
+
dataType: DataType.NodeId,
|
|
16
|
+
value: resolveNodeId(nodeId)
|
|
32
17
|
}
|
|
33
18
|
})
|
|
34
19
|
]
|
|
35
20
|
});
|
|
36
21
|
return element;
|
|
37
22
|
}
|
|
38
|
-
function l(dataType, value) {
|
|
23
|
+
export function l(dataType, value) {
|
|
39
24
|
switch (dataType) {
|
|
40
|
-
case
|
|
41
|
-
value =
|
|
25
|
+
case DataType.NodeId:
|
|
26
|
+
value = resolveNodeId(value);
|
|
42
27
|
}
|
|
43
|
-
return new
|
|
28
|
+
return new LiteralOperand({ value: new Variant({ dataType, value }) });
|
|
44
29
|
}
|
|
45
|
-
function n(n) {
|
|
46
|
-
return l(
|
|
30
|
+
export function n(n) {
|
|
31
|
+
return l(DataType.NodeId, n);
|
|
47
32
|
}
|
|
48
|
-
function s(attributeId, path) {
|
|
49
|
-
return new
|
|
33
|
+
export function s(attributeId, path) {
|
|
34
|
+
return new SimpleAttributeOperand({
|
|
50
35
|
attributeId: attributeId,
|
|
51
|
-
browsePath: path.split(".").map(
|
|
36
|
+
browsePath: path.split(".").map(coerceQualifiedName)
|
|
52
37
|
});
|
|
53
38
|
}
|
|
54
|
-
function or(a, b) {
|
|
55
|
-
return new
|
|
39
|
+
export function or(a, b) {
|
|
40
|
+
return new ContentFilterElement({
|
|
56
41
|
filterOperands: [a, b],
|
|
57
|
-
filterOperator:
|
|
42
|
+
filterOperator: FilterOperator.Or
|
|
58
43
|
});
|
|
59
44
|
}
|
|
60
|
-
function and(a, b) {
|
|
61
|
-
return new
|
|
45
|
+
export function and(a, b) {
|
|
46
|
+
return new ContentFilterElement({
|
|
62
47
|
filterOperands: [a, b],
|
|
63
|
-
filterOperator:
|
|
48
|
+
filterOperator: FilterOperator.And
|
|
64
49
|
});
|
|
65
50
|
}
|
|
66
|
-
function lessThan(a, b) {
|
|
67
|
-
return new
|
|
51
|
+
export function lessThan(a, b) {
|
|
52
|
+
return new ContentFilterElement({
|
|
68
53
|
filterOperands: [a, b],
|
|
69
|
-
filterOperator:
|
|
54
|
+
filterOperator: FilterOperator.LessThan
|
|
70
55
|
});
|
|
71
56
|
}
|
|
72
|
-
function LessThanOrEqual(a, b) {
|
|
73
|
-
return new
|
|
57
|
+
export function LessThanOrEqual(a, b) {
|
|
58
|
+
return new ContentFilterElement({
|
|
74
59
|
filterOperands: [a, b],
|
|
75
|
-
filterOperator:
|
|
60
|
+
filterOperator: FilterOperator.LessThanOrEqual
|
|
76
61
|
});
|
|
77
62
|
}
|
|
78
|
-
function greaterThanOrEqual(a, b) {
|
|
79
|
-
return new
|
|
63
|
+
export function greaterThanOrEqual(a, b) {
|
|
64
|
+
return new ContentFilterElement({
|
|
80
65
|
filterOperands: [a, b],
|
|
81
|
-
filterOperator:
|
|
66
|
+
filterOperator: FilterOperator.GreaterThanOrEqual
|
|
82
67
|
});
|
|
83
68
|
}
|
|
84
|
-
function greaterThan(a, b) {
|
|
85
|
-
return new
|
|
69
|
+
export function greaterThan(a, b) {
|
|
70
|
+
return new ContentFilterElement({
|
|
86
71
|
filterOperands: [a, b],
|
|
87
|
-
filterOperator:
|
|
72
|
+
filterOperator: FilterOperator.GreaterThan
|
|
88
73
|
});
|
|
89
74
|
}
|
|
90
|
-
function inList(a, l) {
|
|
91
|
-
return new
|
|
75
|
+
export function inList(a, l) {
|
|
76
|
+
return new ContentFilterElement({
|
|
92
77
|
filterOperands: [a, ...l],
|
|
93
|
-
filterOperator:
|
|
78
|
+
filterOperator: FilterOperator.InList
|
|
94
79
|
});
|
|
95
80
|
}
|
|
96
|
-
function makeContentFilterElements(o) {
|
|
81
|
+
export function makeContentFilterElements(o) {
|
|
97
82
|
const elements = [];
|
|
98
83
|
function pushElement(element) {
|
|
99
84
|
elements.push(element);
|
|
@@ -101,9 +86,9 @@ function makeContentFilterElements(o) {
|
|
|
101
86
|
if (element.filterOperands) {
|
|
102
87
|
for (let i = 0; i < element.filterOperands.length; i++) {
|
|
103
88
|
const op = element.filterOperands[i];
|
|
104
|
-
if (op instanceof
|
|
89
|
+
if (op instanceof ContentFilterElement) {
|
|
105
90
|
const index = pushElement(op);
|
|
106
|
-
element.filterOperands[i] = new
|
|
91
|
+
element.filterOperands[i] = new ElementOperand({ index });
|
|
107
92
|
}
|
|
108
93
|
}
|
|
109
94
|
}
|
|
@@ -112,9 +97,9 @@ function makeContentFilterElements(o) {
|
|
|
112
97
|
pushElement(o);
|
|
113
98
|
return elements;
|
|
114
99
|
}
|
|
115
|
-
function makeContentFilter(o) {
|
|
116
|
-
return new
|
|
117
|
-
elements: makeContentFilterElements(o instanceof
|
|
100
|
+
export function makeContentFilter(o) {
|
|
101
|
+
return new ContentFilter({
|
|
102
|
+
elements: makeContentFilterElements(o instanceof ContentFilterElement ? o : new ContentFilterElement(o))
|
|
118
103
|
});
|
|
119
104
|
}
|
|
120
105
|
//# sourceMappingURL=make_content_filter.js.map
|
|
@@ -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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"}
|
|
@@ -8,3 +8,4 @@ import type { Variant } from "node-opcua-variant";
|
|
|
8
8
|
* @param eventData : a pseudo Node that provides a browse Method and a readValue(nodeId)
|
|
9
9
|
*/
|
|
10
10
|
export declare function extractEventFields(sessionContext: ISessionContext, selectClauses: SimpleAttributeOperand[], eventData: IEventData): Variant[];
|
|
11
|
+
//# sourceMappingURL=extract_event_fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract_event_fields.d.ts","sourceRoot":"","sources":["../../source/on_address_space/extract_event_fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,sBAAsB,EAAE,EACvC,SAAS,EAAE,UAAU,GACtB,OAAO,EAAE,CAGX"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractEventFields = extractEventFields;
|
|
4
1
|
//
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { extractEventFieldsBase } from "../extract_event_field.js";
|
|
3
|
+
import { FilterContextOnAddressSpace } from "./filter_context_on_address_space.js";
|
|
7
4
|
/**
|
|
8
5
|
|
|
9
6
|
* extract a array of eventFields from a event node, matching the selectClauses
|
|
10
7
|
* @param selectClauses
|
|
11
8
|
* @param eventData : a pseudo Node that provides a browse Method and a readValue(nodeId)
|
|
12
9
|
*/
|
|
13
|
-
function extractEventFields(sessionContext, selectClauses, eventData) {
|
|
14
|
-
const context = new
|
|
15
|
-
return
|
|
10
|
+
export function extractEventFields(sessionContext, selectClauses, eventData) {
|
|
11
|
+
const context = new FilterContextOnAddressSpace(sessionContext, eventData);
|
|
12
|
+
return extractEventFieldsBase(context, selectClauses);
|
|
16
13
|
}
|
|
17
14
|
//# sourceMappingURL=extract_event_fields.js.map
|
|
@@ -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":"AAGA,EAAE;AACF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAC9B,cAA+B,EAC/B,aAAuC,EACvC,SAAqB;IAErB,MAAM,OAAO,GAAG,IAAI,2BAA2B,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC3E,OAAO,sBAAsB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter_context_on_address_space.d.ts","sourceRoot":"","sources":["../../source/on_address_space/filter_context_on_address_space.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,EAER,UAAU,EACV,eAAe,EAOlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAgB,MAAM,EAAE,KAAK,UAAU,EAAc,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAY,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,qBAAa,2BAA4B,YAAW,aAAa;IAIzD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IAJd,WAAW,EAAE,MAAM,CAAC;IAE3B,YACY,cAAc,EAAE,eAAe,EAC/B,SAAS,EAAE,UAAU,EAGhC;IAED,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAItC;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CA6BrD;IAED,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ/C;IAED,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAezC;IAED,OAAO,CAAC,eAAe;IAIhB,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAgBvD;IAED,cAAc,CAAC,WAAW,EAAE,QAAQ,GAAG,IAAI,QAE1C;CACJ"}
|
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
8
|
-
const warningLog = (0, node_opcua_debug_1.make_warningLog)("Filter");
|
|
9
|
-
class FilterContextOnAddressSpace {
|
|
1
|
+
import { NodeClass } from "node-opcua-data-model";
|
|
2
|
+
import { make_warningLog } from "node-opcua-debug";
|
|
3
|
+
import { coerceNodeId, NodeId, sameNodeId } from "node-opcua-nodeid";
|
|
4
|
+
import { DataType, Variant } from "node-opcua-variant";
|
|
5
|
+
const warningLog = make_warningLog("Filter");
|
|
6
|
+
export class FilterContextOnAddressSpace {
|
|
10
7
|
sessionContext;
|
|
11
8
|
eventData;
|
|
12
9
|
eventSource;
|
|
13
10
|
constructor(sessionContext, eventData) {
|
|
14
11
|
this.sessionContext = sessionContext;
|
|
15
12
|
this.eventData = eventData;
|
|
16
|
-
this.eventSource = this.eventData.getEventDataSource()?.nodeId ||
|
|
13
|
+
this.eventSource = this.eventData.getEventDataSource()?.nodeId || NodeId.nullNodeId;
|
|
17
14
|
}
|
|
18
15
|
getNodeClass(nodeId) {
|
|
19
16
|
const addressSpace = this.getAddressSpace();
|
|
20
17
|
const node = addressSpace.findNode(nodeId);
|
|
21
|
-
return node ? node.nodeClass :
|
|
18
|
+
return node ? node.nodeClass : NodeClass.Unspecified;
|
|
22
19
|
}
|
|
23
20
|
isSubtypeOf(nodeId, baseType) {
|
|
24
21
|
const addressSpace = this.getAddressSpace();
|
|
@@ -28,23 +25,23 @@ class FilterContextOnAddressSpace {
|
|
|
28
25
|
warningLog("invalid node - must be specifed ");
|
|
29
26
|
return false;
|
|
30
27
|
}
|
|
31
|
-
if (node.nodeClass ===
|
|
28
|
+
if (node.nodeClass === NodeClass.ObjectType && baseTypeNode.nodeClass === NodeClass.ObjectType) {
|
|
32
29
|
return node.isSubtypeOf(baseTypeNode);
|
|
33
30
|
}
|
|
34
|
-
if (node.nodeClass ===
|
|
31
|
+
if (node.nodeClass === NodeClass.VariableType && baseTypeNode.nodeClass === NodeClass.VariableType) {
|
|
35
32
|
return node.isSubtypeOf(baseTypeNode);
|
|
36
33
|
}
|
|
37
|
-
if (node.nodeClass ===
|
|
34
|
+
if (node.nodeClass === NodeClass.ReferenceType && baseTypeNode.nodeClass === NodeClass.ReferenceType) {
|
|
38
35
|
return node.isSubtypeOf(baseTypeNode);
|
|
39
36
|
}
|
|
40
|
-
if (node.nodeClass ===
|
|
37
|
+
if (node.nodeClass === NodeClass.DataType && baseTypeNode.nodeClass === NodeClass.DataType) {
|
|
41
38
|
return node.isSubtypeOf(baseTypeNode);
|
|
42
39
|
}
|
|
43
|
-
if (node.nodeClass ===
|
|
40
|
+
if (node.nodeClass === NodeClass.Object && baseTypeNode.nodeClass === NodeClass.ObjectType) {
|
|
44
41
|
const obj = node;
|
|
45
42
|
return obj.typeDefinitionObj.isSubtypeOf(baseTypeNode);
|
|
46
43
|
}
|
|
47
|
-
if (node.nodeClass ===
|
|
44
|
+
if (node.nodeClass === NodeClass.Variable && baseTypeNode.nodeClass !== NodeClass.VariableType) {
|
|
48
45
|
const obj = node;
|
|
49
46
|
return obj.typeDefinitionObj.isSubtypeOf(baseTypeNode);
|
|
50
47
|
}
|
|
@@ -55,13 +52,13 @@ class FilterContextOnAddressSpace {
|
|
|
55
52
|
const node = addressSpace.findNode(nodeId);
|
|
56
53
|
if (!node)
|
|
57
54
|
return null;
|
|
58
|
-
if (node.nodeClass ===
|
|
55
|
+
if (node.nodeClass === NodeClass.Object || node.nodeClass === NodeClass.Variable) {
|
|
59
56
|
return node.typeDefinition;
|
|
60
57
|
}
|
|
61
58
|
return null;
|
|
62
59
|
}
|
|
63
60
|
readNodeValue(nodeId) {
|
|
64
|
-
nodeId =
|
|
61
|
+
nodeId = coerceNodeId(nodeId);
|
|
65
62
|
// use cache/snapshot if available
|
|
66
63
|
const value = this.eventData._readValue(nodeId);
|
|
67
64
|
if (value) {
|
|
@@ -69,8 +66,8 @@ class FilterContextOnAddressSpace {
|
|
|
69
66
|
}
|
|
70
67
|
const addressSpace = this.getAddressSpace();
|
|
71
68
|
const node = addressSpace.findNode(nodeId);
|
|
72
|
-
if (!node || node.nodeClass !==
|
|
73
|
-
return new
|
|
69
|
+
if (!node || node.nodeClass !== NodeClass.Variable) {
|
|
70
|
+
return new Variant();
|
|
74
71
|
}
|
|
75
72
|
return prepare(node.readValue(this.sessionContext));
|
|
76
73
|
}
|
|
@@ -79,7 +76,7 @@ class FilterContextOnAddressSpace {
|
|
|
79
76
|
}
|
|
80
77
|
browsePath(browsePath) {
|
|
81
78
|
// delegate to eventData if appropriate
|
|
82
|
-
if (
|
|
79
|
+
if (sameNodeId(browsePath.startingNode, this.eventSource)) {
|
|
83
80
|
const browseResult = this.eventData._browse(browsePath);
|
|
84
81
|
if (browseResult?.statusCode.isGood() && browseResult.targets && browseResult.targets.length === 1) {
|
|
85
82
|
return browseResult.targets?.[0].targetId;
|
|
@@ -94,14 +91,13 @@ class FilterContextOnAddressSpace {
|
|
|
94
91
|
return browseResult.targets[0].targetId;
|
|
95
92
|
}
|
|
96
93
|
setEventSource(eventSource) {
|
|
97
|
-
this.eventSource = eventSource ? eventSource.nodeId :
|
|
94
|
+
this.eventSource = eventSource ? eventSource.nodeId : NodeId.nullNodeId;
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
|
-
exports.FilterContextOnAddressSpace = FilterContextOnAddressSpace;
|
|
101
97
|
function prepare(dataValue) {
|
|
102
98
|
if (dataValue.statusCode.isGood()) {
|
|
103
99
|
return dataValue.value;
|
|
104
100
|
}
|
|
105
|
-
return new
|
|
101
|
+
return new Variant({ dataType: DataType.StatusCode, value: dataValue.statusCode });
|
|
106
102
|
}
|
|
107
103
|
//# sourceMappingURL=filter_context_on_address_space.js.map
|
|
@@ -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":"
|
|
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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/on_address_space/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC"}
|