node-opcua-address-space 2.78.0 → 2.79.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.
Files changed (46) hide show
  1. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +1 -1
  2. package/dist/src/base_node_impl.d.ts +1 -0
  3. package/dist/src/base_node_impl.js +30 -3
  4. package/dist/src/base_node_impl.js.map +1 -1
  5. package/dist/src/historical_access/address_space_historical_data_node.js +14 -3
  6. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -1
  7. package/dist/src/nodeset_tools/nodeset_to_xml.js +45 -9
  8. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -1
  9. package/dist/src/ua_method_impl.d.ts +2 -1
  10. package/dist/src/ua_method_impl.js +9 -1
  11. package/dist/src/ua_method_impl.js.map +1 -1
  12. package/dist/src/ua_variable_impl.d.ts +5 -0
  13. package/dist/src/ua_variable_impl.js +32 -2
  14. package/dist/src/ua_variable_impl.js.map +1 -1
  15. package/package.json +26 -26
  16. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +1 -1
  17. package/src/base_node_impl.ts +34 -3
  18. package/src/historical_access/address_space_historical_data_node.ts +18 -3
  19. package/src/nodeset_tools/nodeset_to_xml.ts +57 -13
  20. package/src/ua_method_impl.ts +9 -3
  21. package/src/ua_variable_impl.ts +36 -4
  22. package/test_helpers/test_fixtures/mini.Node.Set2.xml +178 -0
  23. package/dist/source/helpers/check_event_clause.d.ts +0 -17
  24. package/dist/source/helpers/check_event_clause.js +0 -53
  25. package/dist/source/helpers/check_event_clause.js.map +0 -1
  26. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +0 -4
  27. package/dist/src/alarms_and_conditions/check_where_clause.js +0 -110
  28. package/dist/src/alarms_and_conditions/check_where_clause.js.map +0 -1
  29. package/dist/src/alarms_and_conditions/condition_info.d.ts +0 -27
  30. package/dist/src/alarms_and_conditions/condition_info.js +0 -55
  31. package/dist/src/alarms_and_conditions/condition_info.js.map +0 -1
  32. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +0 -233
  33. package/dist/src/alarms_and_conditions/condition_snapshot.js +0 -667
  34. package/dist/src/alarms_and_conditions/condition_snapshot.js.map +0 -1
  35. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +0 -10
  36. package/dist/src/alarms_and_conditions/extract_event_fields.js +0 -90
  37. package/dist/src/alarms_and_conditions/extract_event_fields.js.map +0 -1
  38. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +0 -51
  39. package/dist/src/data_access/ua_multistate_value_discrete.js +0 -250
  40. package/dist/src/data_access/ua_multistate_value_discrete.js.map +0 -1
  41. package/dist/src/data_access/ua_two_state_discrete.d.ts +0 -25
  42. package/dist/src/data_access/ua_two_state_discrete.js +0 -154
  43. package/dist/src/data_access/ua_two_state_discrete.js.map +0 -1
  44. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +0 -2
  45. package/dist/src/nodeset_tools/typedictionary_to_xml.js +0 -155
  46. package/dist/src/nodeset_tools/typedictionary_to_xml.js.map +0 -1
@@ -4555,4 +4555,182 @@
4555
4555
  <Field Name="Opaque" Value="3" />
4556
4556
  </Definition>
4557
4557
  </UADataType>
4558
+
4559
+ <UAObjectType NodeId="i=11187" BrowseName="AggregateConfigurationType">
4560
+ <DisplayName>AggregateConfigurationType</DisplayName>
4561
+ <References>
4562
+ <Reference ReferenceType="HasProperty">i=11188</Reference>
4563
+ <Reference ReferenceType="HasProperty">i=11189</Reference>
4564
+ <Reference ReferenceType="HasProperty">i=11190</Reference>
4565
+ <Reference ReferenceType="HasProperty">i=11191</Reference>
4566
+ <Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
4567
+ </References>
4568
+ </UAObjectType>
4569
+ <UAVariable NodeId="i=11188" BrowseName="TreatUncertainAsBad" ParentNodeId="i=11187" DataType="Boolean">
4570
+ <DisplayName>TreatUncertainAsBad</DisplayName>
4571
+ <References>
4572
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4573
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4574
+ <Reference ReferenceType="HasProperty" IsForward="false">i=11187</Reference>
4575
+ </References>
4576
+ </UAVariable>
4577
+ <UAVariable NodeId="i=11189" BrowseName="PercentDataBad" ParentNodeId="i=11187" DataType="Byte">
4578
+ <DisplayName>PercentDataBad</DisplayName>
4579
+ <References>
4580
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4581
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4582
+ <Reference ReferenceType="HasProperty" IsForward="false">i=11187</Reference>
4583
+ </References>
4584
+ </UAVariable>
4585
+ <UAVariable NodeId="i=11190" BrowseName="PercentDataGood" ParentNodeId="i=11187" DataType="Byte">
4586
+ <DisplayName>PercentDataGood</DisplayName>
4587
+ <References>
4588
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4589
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4590
+ <Reference ReferenceType="HasProperty" IsForward="false">i=11187</Reference>
4591
+ </References>
4592
+ </UAVariable>
4593
+ <UAVariable NodeId="i=11191" BrowseName="UseSlopedExtrapolation" ParentNodeId="i=11187" DataType="Boolean">
4594
+ <DisplayName>UseSlopedExtrapolation</DisplayName>
4595
+ <References>
4596
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4597
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4598
+ <Reference ReferenceType="HasProperty" IsForward="false">i=11187</Reference>
4599
+ </References>
4600
+ </UAVariable>
4601
+
4602
+ <UAObjectType NodeId="i=2318" BrowseName="HistoricalDataConfigurationType">
4603
+ <DisplayName>HistoricalDataConfigurationType</DisplayName>
4604
+ <References>
4605
+ <Reference ReferenceType="HasComponent">i=3059</Reference>
4606
+ <Reference ReferenceType="HasComponent">i=11876</Reference>
4607
+ <Reference ReferenceType="HasProperty">i=2323</Reference>
4608
+ <Reference ReferenceType="HasProperty">i=2324</Reference>
4609
+ <Reference ReferenceType="HasProperty">i=2325</Reference>
4610
+ <Reference ReferenceType="HasProperty">i=2326</Reference>
4611
+ <Reference ReferenceType="HasProperty">i=2327</Reference>
4612
+ <Reference ReferenceType="HasProperty">i=2328</Reference>
4613
+ <Reference ReferenceType="HasProperty">i=11499</Reference>
4614
+ <Reference ReferenceType="HasProperty">i=11500</Reference>
4615
+ <Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
4616
+ </References>
4617
+ </UAObjectType>
4618
+ <UAVariable NodeId="i=2323" BrowseName="Stepped" ParentNodeId="i=2318" DataType="Boolean">
4619
+ <DisplayName>Stepped</DisplayName>
4620
+ <References>
4621
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4622
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4623
+ <Reference ReferenceType="HasProperty" IsForward="false">i=2318</Reference>
4624
+ </References>
4625
+ </UAVariable>
4626
+ <UAVariable NodeId="i=2324" BrowseName="Definition" ParentNodeId="i=2318" DataType="String">
4627
+ <DisplayName>Definition</DisplayName>
4628
+ <References>
4629
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4630
+ <Reference ReferenceType="HasModellingRule">i=80</Reference>
4631
+ <Reference ReferenceType="HasProperty" IsForward="false">i=2318</Reference>
4632
+ </References>
4633
+ </UAVariable>
4634
+ <UAVariable NodeId="i=2325" BrowseName="MaxTimeInterval" ParentNodeId="i=2318" DataType="i=290">
4635
+ <DisplayName>MaxTimeInterval</DisplayName>
4636
+ <References>
4637
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4638
+ <Reference ReferenceType="HasModellingRule">i=80</Reference>
4639
+ <Reference ReferenceType="HasProperty" IsForward="false">i=2318</Reference>
4640
+ </References>
4641
+ </UAVariable>
4642
+ <UAVariable NodeId="i=2326" BrowseName="MinTimeInterval" ParentNodeId="i=2318" DataType="i=290">
4643
+ <DisplayName>MinTimeInterval</DisplayName>
4644
+ <References>
4645
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4646
+ <Reference ReferenceType="HasModellingRule">i=80</Reference>
4647
+ <Reference ReferenceType="HasProperty" IsForward="false">i=2318</Reference>
4648
+ </References>
4649
+ </UAVariable>
4650
+ <UAVariable NodeId="i=2327" BrowseName="ExceptionDeviation" ParentNodeId="i=2318" DataType="Double">
4651
+ <DisplayName>ExceptionDeviation</DisplayName>
4652
+ <References>
4653
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4654
+ <Reference ReferenceType="HasModellingRule">i=80</Reference>
4655
+ <Reference ReferenceType="HasProperty" IsForward="false">i=2318</Reference>
4656
+ </References>
4657
+ </UAVariable>
4658
+ <UAVariable NodeId="i=2328" BrowseName="ExceptionDeviationFormat" ParentNodeId="i=2318" DataType="i=890">
4659
+ <DisplayName>ExceptionDeviationFormat</DisplayName>
4660
+ <References>
4661
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4662
+ <Reference ReferenceType="HasModellingRule">i=80</Reference>
4663
+ <Reference ReferenceType="HasProperty" IsForward="false">i=2318</Reference>
4664
+ </References>
4665
+ </UAVariable>
4666
+ <UAVariable NodeId="i=11499" BrowseName="StartOfArchive" ParentNodeId="i=2318" DataType="i=294">
4667
+ <DisplayName>StartOfArchive</DisplayName>
4668
+ <References>
4669
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4670
+ <Reference ReferenceType="HasModellingRule">i=80</Reference>
4671
+ <Reference ReferenceType="HasProperty" IsForward="false">i=2318</Reference>
4672
+ </References>
4673
+ </UAVariable>
4674
+ <UAVariable NodeId="i=11500" BrowseName="StartOfOnlineArchive" ParentNodeId="i=2318" DataType="i=294">
4675
+ <DisplayName>StartOfOnlineArchive</DisplayName>
4676
+ <References>
4677
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4678
+ <Reference ReferenceType="HasModellingRule">i=80</Reference>
4679
+ <Reference ReferenceType="HasProperty" IsForward="false">i=2318</Reference>
4680
+ </References>
4681
+ </UAVariable>
4682
+
4683
+ <UAObject NodeId="i=3059" BrowseName="AggregateConfiguration" ParentNodeId="i=2318">
4684
+ <DisplayName>AggregateConfiguration</DisplayName>
4685
+ <References>
4686
+ <Reference ReferenceType="HasProperty">i=11168</Reference>
4687
+ <Reference ReferenceType="HasProperty">i=11169</Reference>
4688
+ <Reference ReferenceType="HasProperty">i=11170</Reference>
4689
+ <Reference ReferenceType="HasProperty">i=11171</Reference>
4690
+ <Reference ReferenceType="HasTypeDefinition">i=11187</Reference>
4691
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4692
+ <Reference ReferenceType="HasComponent" IsForward="false">i=2318</Reference>
4693
+ </References>
4694
+ </UAObject>
4695
+ <UAVariable NodeId="i=11168" BrowseName="TreatUncertainAsBad" ParentNodeId="i=3059" DataType="Boolean">
4696
+ <DisplayName>TreatUncertainAsBad</DisplayName>
4697
+ <References>
4698
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4699
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4700
+ <Reference ReferenceType="HasProperty" IsForward="false">i=3059</Reference>
4701
+ </References>
4702
+ </UAVariable>
4703
+ <UAVariable NodeId="i=11169" BrowseName="PercentDataBad" ParentNodeId="i=3059" DataType="Byte">
4704
+ <DisplayName>PercentDataBad</DisplayName>
4705
+ <References>
4706
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4707
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4708
+ <Reference ReferenceType="HasProperty" IsForward="false">i=3059</Reference>
4709
+ </References>
4710
+ </UAVariable>
4711
+ <UAVariable NodeId="i=11170" BrowseName="PercentDataGood" ParentNodeId="i=3059" DataType="Byte">
4712
+ <DisplayName>PercentDataGood</DisplayName>
4713
+ <References>
4714
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4715
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4716
+ <Reference ReferenceType="HasProperty" IsForward="false">i=3059</Reference>
4717
+ </References>
4718
+ </UAVariable>
4719
+ <UAVariable NodeId="i=11171" BrowseName="UseSlopedExtrapolation" ParentNodeId="i=3059" DataType="Boolean">
4720
+ <DisplayName>UseSlopedExtrapolation</DisplayName>
4721
+ <References>
4722
+ <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
4723
+ <Reference ReferenceType="HasModellingRule">i=78</Reference>
4724
+ <Reference ReferenceType="HasProperty" IsForward="false">i=3059</Reference>
4725
+ </References>
4726
+ </UAVariable>
4727
+ <UAObject NodeId="i=11876" BrowseName="AggregateFunctions" ParentNodeId="i=2318">
4728
+ <DisplayName>AggregateFunctions</DisplayName>
4729
+ <References>
4730
+ <Reference ReferenceType="HasTypeDefinition">i=61</Reference>
4731
+ <Reference ReferenceType="HasModellingRule">i=80</Reference>
4732
+ <Reference ReferenceType="HasComponent" IsForward="false">i=2318</Reference>
4733
+ </References>
4734
+ </UAObject>
4735
+
4558
4736
  </UANodeSet>
@@ -1,17 +0,0 @@
1
- import { SimpleAttributeOperand } from "node-opcua-service-filter";
2
- import { StatusCode } from "node-opcua-status-code";
3
- import { BaseNode, UAObjectType } from "node-opcua-address-space-base";
4
- /**
5
- * @method checkSelectClause
6
- * @param parentNode
7
- * @param selectClause
8
- * @return {Array<StatusCode>}
9
- */
10
- export declare function checkSelectClause(parentNode: BaseNode, selectClause: SimpleAttributeOperand): StatusCode;
11
- /**
12
- * @method checkSelectClauses
13
- * @param eventTypeNode
14
- * @param selectClauses
15
- * @return an array of StatusCode
16
- */
17
- export declare function checkSelectClauses(eventTypeNode: UAObjectType, selectClauses: SimpleAttributeOperand[]): StatusCode[];
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkSelectClauses = exports.checkSelectClause = void 0;
4
- /**
5
- * @module node-opcua-address-space
6
- */
7
- // tslint:disable:no-console
8
- const node_opcua_data_model_1 = require("node-opcua-data-model");
9
- const node_opcua_service_translate_browse_path_1 = require("node-opcua-service-translate-browse-path");
10
- const node_opcua_status_code_1 = require("node-opcua-status-code");
11
- /**
12
- * @method checkSelectClause
13
- * @param parentNode
14
- * @param selectClause
15
- * @return {Array<StatusCode>}
16
- */
17
- function checkSelectClause(parentNode, selectClause) {
18
- //
19
- const addressSpace = parentNode.addressSpace;
20
- // istanbul ignore next
21
- if (selectClause.typeDefinitionId.isEmpty()) {
22
- return node_opcua_status_code_1.StatusCodes.Good;
23
- }
24
- const eventTypeNode = addressSpace.findEventType(selectClause.typeDefinitionId);
25
- if (!eventTypeNode || !(eventTypeNode.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType)) {
26
- // xx console.log("eventTypeNode = ",selectClause.typeDefinitionId.toString());
27
- // xx console.log("eventTypeNode = ",eventTypeNode);
28
- // istanbul ignore next
29
- if (eventTypeNode) {
30
- console.log(eventTypeNode.toString());
31
- }
32
- }
33
- // istanbul ignore next
34
- if (eventTypeNode.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
35
- throw new Error("Expecting a ObjectType");
36
- }
37
- // navigate to the innerNode specified by the browsePath [ QualifiedName]
38
- const browsePath = (0, node_opcua_service_translate_browse_path_1.constructBrowsePathFromQualifiedName)(eventTypeNode, selectClause.browsePath);
39
- const browsePathResult = addressSpace.browsePath(browsePath);
40
- return browsePathResult.statusCode;
41
- }
42
- exports.checkSelectClause = checkSelectClause;
43
- /**
44
- * @method checkSelectClauses
45
- * @param eventTypeNode
46
- * @param selectClauses
47
- * @return an array of StatusCode
48
- */
49
- function checkSelectClauses(eventTypeNode, selectClauses) {
50
- return selectClauses.map(checkSelectClause.bind(null, eventTypeNode));
51
- }
52
- exports.checkSelectClauses = checkSelectClauses;
53
- //# sourceMappingURL=check_event_clause.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check_event_clause.js","sourceRoot":"","sources":["../../../source/helpers/check_event_clause.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,4BAA4B;AAC5B,iEAAkD;AAElD,uGAAgG;AAChG,mEAAiE;AAGjE;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,UAAoB,EAAE,YAAoC;IACxF,EAAE;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAE7C,uBAAuB;IACvB,IAAI,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE;QACzC,OAAO,oCAAW,CAAC,IAAI,CAAC;KAC3B;IACD,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAAC;IAEjF,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,SAAS,KAAK,iCAAS,CAAC,UAAU,CAAC,EAAE;QACvE,+EAA+E;QAC/E,oDAAoD;QACpD,uBAAuB;QACvB,IAAI,aAAa,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzC;KACJ;IAED,uBAAuB;IACvB,IAAI,aAAa,CAAC,SAAS,KAAK,iCAAS,CAAC,UAAU,EAAE;QAClD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC7C;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;AA5BD,8CA4BC;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;AAFD,gDAEC"}
@@ -1,4 +0,0 @@
1
- import { ContentFilter } from "node-opcua-types";
2
- import { IAddressSpace, IEventData, ISessionContext } from "node-opcua-address-space-base";
3
- export declare function __checkWhereClause(addressSpace: IAddressSpace, sessionContext: ISessionContext, whereClause: ContentFilter, index: number, eventData: IEventData): boolean;
4
- export declare function checkWhereClause(addressSpace: IAddressSpace, sessionContext: ISessionContext, whereClause: ContentFilter, eventData: IEventData): boolean;
@@ -1,110 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkWhereClause = exports.__checkWhereClause = void 0;
4
- const node_opcua_types_1 = require("node-opcua-types");
5
- const node_opcua_variant_1 = require("node-opcua-variant");
6
- const node_opcua_data_model_1 = require("node-opcua-data-model");
7
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
8
- const session_context_1 = require("../../source/session_context");
9
- const extract_event_fields_1 = require("./extract_event_fields");
10
- function checkNot(addressSpace, sessionContext, whereClause, eventData, filteredOperands) {
11
- if (filteredOperands[0] instanceof node_opcua_types_1.ElementOperand) {
12
- const index = filteredOperands[0].index;
13
- return !__checkWhereClause(addressSpace, sessionContext, whereClause, index, eventData);
14
- }
15
- return false;
16
- }
17
- function checkOfType(addressSpace, ofType, eventData) {
18
- var _a;
19
- // istanbul ignore next
20
- if (!ofType) {
21
- throw new Error("invalid operand");
22
- }
23
- // istanbul ignore next
24
- if (ofType.value.dataType !== node_opcua_variant_1.DataType.NodeId) {
25
- throw new Error("invalid operand type (expecting Nodeid");
26
- }
27
- const ofTypeNode = addressSpace.findNode(ofType.value.value);
28
- // istanbul ignore next
29
- if (!ofTypeNode) {
30
- return false; // the ofType node is not known, we don't know what to do
31
- }
32
- // istanbul ignore next
33
- if (ofTypeNode.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
34
- throw new Error("operand should be a ObjectType " + ofTypeNode.nodeId.toString());
35
- }
36
- const node = eventData.$eventDataSource;
37
- if (!node) {
38
- throw new Error("cannot find node " + ((_a = eventData.$eventDataSource) === null || _a === void 0 ? void 0 : _a.toString()));
39
- }
40
- if (node.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType) {
41
- return node.isSupertypeOf(ofTypeNode);
42
- }
43
- if (node.nodeClass === node_opcua_data_model_1.NodeClass.Object && node.typeDefinitionObj) {
44
- return node.typeDefinitionObj.isSupertypeOf(ofTypeNode);
45
- }
46
- return true;
47
- }
48
- function _extractValue(operand, eventData) {
49
- // eventData.readValue;
50
- const v = (0, extract_event_fields_1.extractEventFields)(session_context_1.SessionContext.defaultContext, [operand], eventData)[0];
51
- return v.value;
52
- }
53
- function checkInList(addressSpace, filterOperands, eventData) {
54
- const operand0 = filterOperands[0];
55
- if (!(operand0 instanceof node_opcua_types_1.SimpleAttributeOperand)) {
56
- // unsupported case
57
- return false;
58
- }
59
- const nodeId = _extractValue(operand0, eventData);
60
- if (!nodeId) {
61
- return false;
62
- }
63
- function _is(nodeId1, operandX) {
64
- const operandNode = addressSpace.findNode(operandX.value.value);
65
- if (!operandNode) {
66
- return false;
67
- }
68
- return (0, node_opcua_nodeid_1.sameNodeId)(nodeId1, operandNode.nodeId);
69
- }
70
- for (let i = 1; i < filterOperands.length; i++) {
71
- const filterOperand = filterOperands[i];
72
- if (filterOperand instanceof node_opcua_types_1.LiteralOperand && _is(nodeId, filterOperand)) {
73
- return true;
74
- }
75
- }
76
- return false;
77
- }
78
- function __checkWhereClause(addressSpace, sessionContext, whereClause, index, eventData) {
79
- if (!whereClause.elements || whereClause.elements.length === 0) {
80
- return true;
81
- }
82
- const element = whereClause.elements[index];
83
- if (!element) {
84
- return true;
85
- }
86
- switch (element.filterOperator) {
87
- case node_opcua_types_1.FilterOperator.Not:
88
- return checkNot(addressSpace, sessionContext, whereClause, eventData, element.filterOperands);
89
- case node_opcua_types_1.FilterOperator.OfType:
90
- return checkOfType(addressSpace, element.filterOperands[0], eventData);
91
- case node_opcua_types_1.FilterOperator.InList:
92
- return checkInList(addressSpace, element.filterOperands, eventData);
93
- default:
94
- // from Spec OPC Unified Architecture, Part 4 133 Release 1.04
95
- // Any basic FilterOperator in Table 119 may be used in the whereClause, however, only the
96
- // OfType_14 FilterOperator from Table 120 is permitted.
97
- // tslint:disable-next-line: no-console
98
- console.log("whereClause = ", whereClause.toString());
99
- throw new Error("Only OfType operator are allowed in checkWhereClause");
100
- }
101
- }
102
- exports.__checkWhereClause = __checkWhereClause;
103
- function checkWhereClause(addressSpace, sessionContext, whereClause, eventData) {
104
- if (!whereClause.elements || whereClause.elements.length === 0) {
105
- return true;
106
- }
107
- return __checkWhereClause(addressSpace, sessionContext, whereClause, 0, eventData);
108
- }
109
- exports.checkWhereClause = checkWhereClause;
110
- //# sourceMappingURL=check_where_clause.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check_where_clause.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/check_where_clause.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { UInt16 } from "node-opcua-basic-types";
2
- import { LocalizedText } from "node-opcua-data-model";
3
- import { StatusCode } from "node-opcua-status-code";
4
- import { ConditionInfoOptions } from "../../source/interfaces/alarms_and_conditions/condition_info_i";
5
- export interface ConditionInfo {
6
- message: LocalizedText | null;
7
- quality: StatusCode | null;
8
- severity: UInt16 | null;
9
- retain: boolean | null;
10
- isDifferentFrom(otherConditionInfo: ConditionInfo): boolean;
11
- }
12
- /**
13
- * @class ConditionInfo
14
- * @param options {Object}
15
- * @param options.message {String|LocalizedText} the event message
16
- * @param options.severity {UInt16} severity
17
- * @param options.quality {StatusCode} quality
18
- * @param options.retain {Boolean} retain flag
19
- * @constructor
20
- */
21
- export declare class ConditionInfo {
22
- message: LocalizedText | null;
23
- quality: StatusCode | null;
24
- severity: UInt16 | null;
25
- retain: boolean | null;
26
- constructor(options: ConditionInfoOptions);
27
- }
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConditionInfo = void 0;
4
- /**
5
- * @module node-opcua-address-space.AlarmsAndConditions
6
- */
7
- const node_opcua_assert_1 = require("node-opcua-assert");
8
- const node_opcua_data_model_1 = require("node-opcua-data-model");
9
- /**
10
- * @class ConditionInfo
11
- * @param options {Object}
12
- * @param options.message {String|LocalizedText} the event message
13
- * @param options.severity {UInt16} severity
14
- * @param options.quality {StatusCode} quality
15
- * @param options.retain {Boolean} retain flag
16
- * @constructor
17
- */
18
- class ConditionInfo {
19
- constructor(options) {
20
- this.message = null;
21
- this.quality = null;
22
- this.severity = 0;
23
- this.retain = false;
24
- this.severity = null;
25
- this.quality = null;
26
- this.message = null;
27
- this.retain = null;
28
- if (Object.prototype.hasOwnProperty.call(options, "message") && options.message) {
29
- this.message = node_opcua_data_model_1.LocalizedText.coerce(options.message);
30
- }
31
- if (Object.prototype.hasOwnProperty.call(options, "quality") && options.quality !== null) {
32
- this.quality = options.quality;
33
- }
34
- if (Object.prototype.hasOwnProperty.call(options, "severity") && options.severity !== null) {
35
- (0, node_opcua_assert_1.assert)(typeof options.severity === "number");
36
- this.severity = options.severity;
37
- }
38
- if (Object.prototype.hasOwnProperty.call(options, "retain") && options.retain !== null) {
39
- (0, node_opcua_assert_1.assert)(typeof options.retain === "boolean");
40
- this.retain = options.retain;
41
- }
42
- }
43
- /**
44
- * @method isDifferentFrom
45
- * @param otherConditionInfo {ConditionInfo}
46
- * @return {Boolean}
47
- */
48
- isDifferentFrom(otherConditionInfo) {
49
- return (this.severity !== otherConditionInfo.severity ||
50
- this.quality !== otherConditionInfo.quality ||
51
- this.message !== otherConditionInfo.message);
52
- }
53
- }
54
- exports.ConditionInfo = ConditionInfo;
55
- //# sourceMappingURL=condition_info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition_info.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/condition_info.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,yDAA2C;AAE3C,iEAAyE;AAWzE;;;;;;;;GAQG;AACH,MAAa,aAAa;IAMtB,YAAY,OAA6B;QALlC,YAAO,GAAyB,IAAI,CAAC;QACrC,YAAO,GAAsB,IAAI,CAAC;QAClC,aAAQ,GAAkB,CAAC,CAAC;QAC5B,WAAM,GAAmB,KAAK,CAAC;QAGlC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;YAC7E,IAAI,CAAC,OAAO,GAAG,qCAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACxD;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE;YACtF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAQ,CAAC;SACnC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxF,IAAA,0BAAM,EAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAS,CAAC;SACrC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;YACpF,IAAA,0BAAM,EAAC,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAO,CAAC;SACjC;IACL,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,kBAAiC;QACpD,OAAO,CACH,IAAI,CAAC,QAAQ,KAAK,kBAAkB,CAAC,QAAQ;YAC7C,IAAI,CAAC,OAAO,KAAK,kBAAkB,CAAC,OAAO;YAC3C,IAAI,CAAC,OAAO,KAAK,kBAAkB,CAAC,OAAO,CAC9C,CAAC;IACN,CAAC;CACJ;AAxCD,sCAwCC"}