node-opcua-address-space 2.90.1 → 2.91.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 (91) hide show
  1. package/dist/source/address_space_ts.d.ts +3 -3
  2. package/dist/source/address_space_ts.js +3 -3
  3. package/dist/source/address_space_ts.js.map +1 -1
  4. package/dist/source/helpers/argument_list.js +3 -3
  5. package/dist/source/helpers/argument_list.js.map +1 -1
  6. package/dist/source/helpers/call_helpers.d.ts +1 -1
  7. package/dist/source/helpers/multiform_func.d.ts +8 -8
  8. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +1 -1
  9. package/dist/source/interfaces/extension_object_constructor.d.ts +1 -1
  10. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +15 -3
  11. package/dist/source/loader/generateAddressSpaceRaw.d.ts +2 -2
  12. package/dist/source/loader/make_xml_extension_object_parser.d.ts +1 -1
  13. package/dist/source/loader/namespace_post_step.d.ts +1 -1
  14. package/dist/source/session_context.d.ts +1 -1
  15. package/dist/src/address_space.js +19 -19
  16. package/dist/src/address_space.js.map +1 -1
  17. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +1 -1
  18. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  19. package/dist/src/alarms_and_conditions/ua_condition_impl.js +2 -2
  20. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  21. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +1 -1
  22. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  23. package/dist/src/apply_condition_refresh.d.ts +1 -1
  24. package/dist/src/base_node_impl.js +47 -47
  25. package/dist/src/base_node_impl.js.map +1 -1
  26. package/dist/src/base_node_private.js +4 -4
  27. package/dist/src/base_node_private.js.map +1 -1
  28. package/dist/src/event_data.d.ts +2 -2
  29. package/dist/src/extension_object_array_node.js +3 -3
  30. package/dist/src/extension_object_array_node.js.map +1 -1
  31. package/dist/src/index_current.d.ts +1 -1
  32. package/dist/src/index_current.js +2 -1
  33. package/dist/src/index_current.js.map +1 -1
  34. package/dist/src/nodeid_manager.d.ts +3 -3
  35. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +1 -1
  36. package/dist/src/nodeset_tools/nodeset_to_xml.js +9 -9
  37. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -1
  38. package/dist/src/reference_impl.js +6 -6
  39. package/dist/src/reference_impl.js.map +1 -1
  40. package/dist/src/state_machine/finite_state_machine.d.ts +16 -2
  41. package/dist/src/state_machine/finite_state_machine.js +83 -44
  42. package/dist/src/state_machine/finite_state_machine.js.map +1 -1
  43. package/dist/src/tool_isSubtypeOf.d.ts +18 -0
  44. package/dist/src/tool_isSubtypeOf.js +125 -0
  45. package/dist/src/tool_isSubtypeOf.js.map +1 -0
  46. package/dist/src/ua_data_type_impl.d.ts +6 -4
  47. package/dist/src/ua_data_type_impl.js +24 -22
  48. package/dist/src/ua_data_type_impl.js.map +1 -1
  49. package/dist/src/ua_method_impl.js +6 -6
  50. package/dist/src/ua_method_impl.js.map +1 -1
  51. package/dist/src/ua_object_impl.js +7 -7
  52. package/dist/src/ua_object_impl.js.map +1 -1
  53. package/dist/src/ua_object_type_impl.d.ts +4 -2
  54. package/dist/src/ua_object_type_impl.js +12 -10
  55. package/dist/src/ua_object_type_impl.js.map +1 -1
  56. package/dist/src/ua_reference_type_impl.d.ts +5 -3
  57. package/dist/src/ua_reference_type_impl.js +12 -10
  58. package/dist/src/ua_reference_type_impl.js.map +1 -1
  59. package/dist/src/ua_variable_impl.d.ts +7 -7
  60. package/dist/src/ua_variable_impl.js +30 -30
  61. package/dist/src/ua_variable_impl.js.map +1 -1
  62. package/dist/src/ua_variable_impl_ext_obj.js +3 -3
  63. package/dist/src/ua_variable_impl_ext_obj.js.map +1 -1
  64. package/dist/src/ua_variable_type_impl.d.ts +4 -2
  65. package/dist/src/ua_variable_type_impl.js +15 -10
  66. package/dist/src/ua_variable_type_impl.js.map +1 -1
  67. package/dist/src/ua_view_impl.js +3 -3
  68. package/dist/src/ua_view_impl.js.map +1 -1
  69. package/distHelpers/boiler_system.js +5 -5
  70. package/distHelpers/boiler_system.js.map +1 -1
  71. package/package.json +5 -5
  72. package/source/helpers/argument_list.ts +3 -3
  73. package/source/interfaces/state_machine/ua_state_machine_type.ts +19 -1
  74. package/src/address_space.ts +8 -8
  75. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +1 -1
  76. package/src/alarms_and_conditions/ua_condition_impl.ts +2 -2
  77. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +1 -1
  78. package/src/base_node_impl.ts +3 -3
  79. package/src/base_node_private.ts +3 -3
  80. package/src/extension_object_array_node.ts +3 -3
  81. package/src/index_current.ts +1 -1
  82. package/src/nodeset_tools/nodeset_to_xml.ts +9 -9
  83. package/src/state_machine/finite_state_machine.ts +105 -60
  84. package/src/{tool_isSupertypeOf.ts → tool_isSubtypeOf.ts} +9 -9
  85. package/src/ua_data_type_impl.ts +21 -19
  86. package/src/ua_object_type_impl.ts +9 -3
  87. package/src/ua_reference_type_impl.ts +7 -4
  88. package/src/ua_variable_impl.ts +2033 -2033
  89. package/src/ua_variable_impl_ext_obj.ts +3 -3
  90. package/src/ua_variable_type_impl.ts +11 -4
  91. package/test_helpers/boiler_system.ts +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"boiler_system.js","sourceRoot":"","sources":["../test_helpers/boiler_system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boiler_system.js","sourceRoot":"","sources":["../test_helpers/boiler_system.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-address-space",
3
- "version": "2.90.1",
3
+ "version": "2.91.0",
4
4
  "description": "pure nodejs OPCUA SDK - module -address-space",
5
5
  "main": "./dist/src/index_current.js",
6
6
  "types": "./dist/source/index.d.ts",
@@ -22,7 +22,7 @@
22
22
  "chalk": "4.1.2",
23
23
  "dequeue": "^1.0.5",
24
24
  "lodash": "4.17.21",
25
- "node-opcua-address-space-base": "2.90.1",
25
+ "node-opcua-address-space-base": "2.91.0",
26
26
  "node-opcua-assert": "2.88.0",
27
27
  "node-opcua-basic-types": "2.90.1",
28
28
  "node-opcua-binary-stream": "2.90.1",
@@ -38,7 +38,7 @@
38
38
  "node-opcua-extension-object": "2.90.1",
39
39
  "node-opcua-factory": "2.90.1",
40
40
  "node-opcua-nodeid": "2.90.1",
41
- "node-opcua-nodeset-ua": "2.90.1",
41
+ "node-opcua-nodeset-ua": "2.91.0",
42
42
  "node-opcua-numeric-range": "2.90.1",
43
43
  "node-opcua-object-registry": "2.90.1",
44
44
  "node-opcua-pseudo-session": "2.90.1",
@@ -63,7 +63,7 @@
63
63
  "node-opcua-leak-detector": "2.90.1",
64
64
  "node-opcua-nodesets": "2.88.0",
65
65
  "node-opcua-packet-analyzer": "2.90.1",
66
- "node-opcua-service-filter": "2.90.1",
66
+ "node-opcua-service-filter": "2.91.0",
67
67
  "node-opcua-test-fixtures": "2.90.1",
68
68
  "should": "^13.2.3",
69
69
  "sinon": "^15.0.1",
@@ -84,5 +84,5 @@
84
84
  "internet of things"
85
85
  ],
86
86
  "homepage": "http://node-opcua.github.io/",
87
- "gitHead": "3325ff5f8477fd058ba574d19e8128c36e3e831f"
87
+ "gitHead": "e1ed70a684fc69130696e001a9d43280df1466f4"
88
88
  }
@@ -211,11 +211,11 @@ export function isArgumentValid(addressSpace: IAddressSpace, argDefinition: Argu
211
211
  }
212
212
 
213
213
  // check that dataType is of the same type (derived )
214
- if (argDefDataType.isSupertypeOf(argDataType)) {
214
+ if (argDefDataType.isSubtypeOf(argDataType)) {
215
215
  // like argDefDataType IntegerId and argDataType Uint32
216
216
  return true;
217
217
  }
218
- if (argDataType.isSupertypeOf(argDefDataType)) {
218
+ if (argDataType.isSubtypeOf(argDefDataType)) {
219
219
  // like argDefDataType BaseDataType and argDataType any Type
220
220
  return true;
221
221
  }
@@ -223,7 +223,7 @@ export function isArgumentValid(addressSpace: IAddressSpace, argDefinition: Argu
223
223
  // special case for Enumeration
224
224
  if (arg.dataType === DataType.Int32) {
225
225
  const enumDataType = addressSpace.findDataType(coerceNodeId(DataTypeIds.Enumeration))!;
226
- if (argDefDataType.isSupertypeOf(enumDataType)) {
226
+ if (argDefDataType.isSubtypeOf(enumDataType)) {
227
227
  return true;
228
228
  }
229
229
  }
@@ -200,6 +200,7 @@ export type TransitionSelector = (transitions: UATransitionEx[], fromState: UASt
200
200
  * cases, the parent machine will produce a single Event that reflects changes in multiple
201
201
  * SubStateMachines
202
202
  */
203
+
203
204
  export interface UAStateMachineHelper {
204
205
  // extra stuff
205
206
  readonly initialState: UAInitialState | null;
@@ -254,8 +255,25 @@ export interface UAStateMachineHelper {
254
255
 
255
256
  export interface UAStateMachineEx extends UAObject, UAStateMachineHelper, UAStateMachine_Base {}
256
257
 
257
- export interface UAStateMachineType extends UAObjectType, UAStateMachineHelper, UAStateMachine_Base {
258
+
259
+ export interface UAStateMachineTypeHelper extends UAObjectType {
260
+ /**
261
+ * return all state nodes associated with this state machine
262
+ */
263
+ getStates(): UAState[];
264
+
265
+ /**
266
+ * return all state to state transition node associated with this state machine
267
+ */
268
+ getTransitions(): UATransitionEx[];
269
+
270
+ getStateByName(name: string): UAState | null;
271
+
272
+ }
273
+
274
+ export interface UAStateMachineType extends UAObjectType, UAStateMachineTypeHelper, UAStateMachine_Base {
258
275
  instantiate(options: InstantiateObjectOptions): UAStateMachineEx;
259
276
  }
277
+ export declare function promoteToStateMachineType(node: UAObjectType): UAStateMachineType;
260
278
 
261
279
  export declare function promoteToStateMachine(node: UAObject): UAStateMachineEx;
@@ -623,9 +623,9 @@ export class AddressSpace implements AddressSpacePrivate {
623
623
  if (sameNodeId(eventType.nodeId, baseEventType.nodeId)) {
624
624
  return eventType as UAObjectType;
625
625
  }
626
- /* eventTypeNode should be isSupertypeOf("BaseEventType"); */
626
+ /* eventTypeNode should be a sub type of "BaseEventType" */
627
627
  /* istanbul ignore next */
628
- if (!eventType.isSupertypeOf(baseEventType)) {
628
+ if (!eventType.isSubtypeOf(baseEventType)) {
629
629
  throw new Error("findEventType: event found is not subType of BaseEventType");
630
630
  }
631
631
  return eventType as UAEventType;
@@ -1015,10 +1015,10 @@ export class AddressSpace implements AddressSpacePrivate {
1015
1015
 
1016
1016
  // to do verify that dataType is of type "Structure"
1017
1017
  /* istanbul ignore next */
1018
- if (!_dataType.isSupertypeOf(this.findDataType("Structure")!)) {
1018
+ if (!_dataType.isSubtypeOf(this.findDataType("Structure")!)) {
1019
1019
  console.log(_dataType.toString());
1020
1020
  }
1021
- assert(_dataType.isSupertypeOf(this.findDataType("Structure")!));
1021
+ assert(_dataType.isSubtypeOf(this.findDataType("Structure")!));
1022
1022
  if (!_dataType._extensionObjectConstructor) {
1023
1023
  const dataTypeManager = (this as any).$$extraDataTypeManager as ExtraDataTypeManager;
1024
1024
  _dataType._extensionObjectConstructor = dataTypeManager.getExtensionObjectConstructorFromDataType(
@@ -1452,11 +1452,11 @@ export class AddressSpace implements AddressSpacePrivate {
1452
1452
  throw new Error("Cannot find ObjectType or VariableType for " + baseType.toString());
1453
1453
  }
1454
1454
  /* istanbul ignore next */
1455
- if (!(baseTypeNode as any).isSupertypeOf) {
1455
+ if (!(baseTypeNode as any).isSubtypeOf) {
1456
1456
  throw new Error("Cannot find ObjectType or VariableType for " + baseType.toString());
1457
1457
  }
1458
1458
  /* istanbul ignore next */
1459
- if (!(baseTypeNode as any).isSupertypeOf(topMostBaseTypeNode)) {
1459
+ if (!(baseTypeNode as any).isSubtypeOf(topMostBaseTypeNode)) {
1460
1460
  throw new Error("wrong type ");
1461
1461
  }
1462
1462
  return baseTypeNode;
@@ -1487,7 +1487,7 @@ export class AddressSpace implements AddressSpacePrivate {
1487
1487
  if (!enumerationNode) {
1488
1488
  throw new Error(" Cannot find 'Enumeration' DataType in standard address Space");
1489
1489
  }
1490
- return dataTypeNode.isSupertypeOf(enumerationNode);
1490
+ return dataTypeNode.isSubtypeOf(enumerationNode);
1491
1491
  }
1492
1492
 
1493
1493
  private _coerce_Type(dataType: BaseNode | string | NodeId, typeMap: any, typeMapName: string, finderMethod: any): NodeId {
@@ -1562,7 +1562,7 @@ function _isFolder(addressSpace: AddressSpace, folder: UAObject): boolean {
1562
1562
  const folderType = addressSpace.findObjectType("FolderType")!;
1563
1563
  assert(folder instanceof BaseNodeImpl);
1564
1564
  assert(folder.typeDefinitionObj);
1565
- return folder.typeDefinitionObj.isSupertypeOf(folderType);
1565
+ return folder.typeDefinitionObj.isSubtypeOf(folderType);
1566
1566
  }
1567
1567
 
1568
1568
  function _increase_version_number(node: BaseNode | null) {
@@ -63,7 +63,7 @@ export class UAAlarmConditionImpl extends UAAcknowledgeableConditionImpl impleme
63
63
  assert(isFinite(options.maxTimeShelved!));
64
64
  }
65
65
 
66
- assert(alarmConditionTypeBase === alarmConditionType || alarmConditionType.isSupertypeOf(alarmConditionTypeBase));
66
+ assert(alarmConditionTypeBase === alarmConditionType || alarmConditionType.isSubtypeOf(alarmConditionTypeBase));
67
67
 
68
68
  const alarmNode = UAAcknowledgeableConditionImpl.instantiate(
69
69
  namespace,
@@ -482,7 +482,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
482
482
 
483
483
  const selfConditionType = this.typeDefinitionObj;
484
484
  const conditionType = addressSpace.findObjectType("ConditionType")!;
485
- assert(selfConditionType.isSupertypeOf(conditionType));
485
+ assert(selfConditionType.isSubtypeOf(conditionType));
486
486
 
487
487
  const branch = this.currentBranch();
488
488
 
@@ -699,7 +699,7 @@ function UACondition_instantiate(
699
699
  throw new Error("cannot find ConditionType");
700
700
  }
701
701
 
702
- assert(conditionType.isSupertypeOf(baseConditionEventType));
702
+ assert(conditionType.isSubtypeOf(baseConditionEventType));
703
703
 
704
704
  // assert((typeof options.browseName === "string"));
705
705
  options.browseName = options.browseName || "??? instantiateCondition - missing browseName";
@@ -34,7 +34,7 @@ export class UADiscreteAlarmImpl extends UAAlarmConditionImpl implements UADiscr
34
34
 
35
35
  /* eventTypeNode should be subtypeOf("DiscreteAlarmType"); */
36
36
  /* istanbul ignore next */
37
- if (!discreteAlarmType.isSupertypeOf(discreteAlarmTypeBase as any)) {
37
+ if (!discreteAlarmType.isSubtypeOf(discreteAlarmTypeBase as any)) {
38
38
  throw new Error("UADiscreteAlarm.instantiate : event found is not subType of DiscreteAlarmType");
39
39
  }
40
40
 
@@ -790,7 +790,7 @@ export class BaseNodeImpl extends EventEmitter implements BaseNode {
790
790
  }
791
791
  if (relativePathElement.includeSubtypes) {
792
792
  const baseType = this.addressSpace.findReferenceType(relativePathElement.referenceTypeId)!;
793
- if (baseType && referenceType.isSupertypeOf(baseType)) {
793
+ if (baseType && referenceType.isSubtypeOf(baseType)) {
794
794
  return true;
795
795
  }
796
796
  }
@@ -1564,7 +1564,7 @@ function _propagate_ref(this: BaseNode, addressSpace: MinimalistAddressSpace, re
1564
1564
  }
1565
1565
  // ------------------------------- EXPERIMENT
1566
1566
 
1567
- // xx if (!referenceType.isSupertypeOf(hierarchicalReferencesId)) { return; }
1567
+ // xx if (!referenceType.isSubtypeOf(hierarchicalReferencesId)) { return; }
1568
1568
  const related_node = resolveReferenceNode(addressSpace, reference) as BaseNodeImpl;
1569
1569
  if (related_node) {
1570
1570
  // verify that reference doesn't point to object it this (see mantis 3099)
@@ -1666,7 +1666,7 @@ function _filter_by_referenceType(
1666
1666
  return true;
1667
1667
  }
1668
1668
  if (browseDescription.includeSubtypes) {
1669
- return ref.isSupertypeOf(referenceType as UAReferenceType);
1669
+ return ref.isSubtypeOf(referenceType);
1670
1670
  } else {
1671
1671
  return false;
1672
1672
  }
@@ -40,7 +40,7 @@ import { UANamespace_process_modelling_rule } from "./namespace_private";
40
40
  import { ReferenceImpl } from "./reference_impl";
41
41
  import { BaseNodeImpl, getReferenceType } from "./base_node_impl";
42
42
  import { AddressSpacePrivate } from "./address_space_private";
43
- import { wipeMemorizedStuff } from "./tool_isSupertypeOf";
43
+ import { wipeMemorizedStuff } from "./tool_isSubtypeOf";
44
44
 
45
45
  // eslint-disable-next-line prefer-const
46
46
  const errorLog = make_errorLog(__filename);
@@ -859,7 +859,7 @@ export function _handle_HierarchicalReference(node: BaseNode, reference: UARefer
859
859
 
860
860
  if (referenceType) {
861
861
  const HierarchicalReferencesType = addressSpace.findReferenceType("HierarchicalReferences");
862
- if (referenceType.isSupertypeOf(HierarchicalReferencesType!)) {
862
+ if (referenceType.isSubtypeOf(HierarchicalReferencesType!)) {
863
863
  assert(reference.isForward);
864
864
  const targetNode = ReferenceImpl.resolveReferenceNode(addressSpace, reference);
865
865
  _cache._childByNameMap[targetNode.browseName!.name!.toString()] = targetNode;
@@ -876,7 +876,7 @@ function _remove_HierarchicalReference(node: BaseNode, reference: UAReference) {
876
876
 
877
877
  if (referenceType) {
878
878
  const HierarchicalReferencesType = addressSpace.findReferenceType("HierarchicalReferences");
879
- if (referenceType.isSupertypeOf(HierarchicalReferencesType!)) {
879
+ if (referenceType.isSubtypeOf(HierarchicalReferencesType!)) {
880
880
  assert(reference.isForward);
881
881
  const targetNode = ReferenceImpl.resolveReferenceNode(addressSpace, reference);
882
882
  // Xx dotrace && tracelog(" adding object to map");
@@ -105,7 +105,7 @@ export function createExtObjArrayNode<T extends ExtensionObject>(parentFolder: U
105
105
  throw new Error("cannot find Data Type");
106
106
  }
107
107
 
108
- assert(dataType.isSupertypeOf(structure as any), "expecting a structure (= ExtensionObject) here ");
108
+ assert(dataType.isSubtypeOf(structure as any), "expecting a structure (= ExtensionObject) here ");
109
109
 
110
110
  const inner_options = {
111
111
  componentOf: parentFolder,
@@ -165,7 +165,7 @@ export function bindExtObjArrayNode<T extends ExtensionObject>(
165
165
  throw new Error("Cannot find DataType " + variableType.dataType.toString());
166
166
  }
167
167
 
168
- assert(dataType.isSupertypeOf(structure), "expecting a structure (= ExtensionObject) here ");
168
+ assert(dataType.isSubtypeOf(structure), "expecting a structure (= ExtensionObject) here ");
169
169
 
170
170
  assert(!uaArrayVariableNode.$$variableType, "uaArrayVariableNode has already been bound !");
171
171
 
@@ -173,7 +173,7 @@ export function bindExtObjArrayNode<T extends ExtensionObject>(
173
173
 
174
174
  // verify that an object with same doesn't already exist
175
175
  dataType = addressSpace.findDataType(variableType.dataType)! as UADataType;
176
- assert(dataType!.isSupertypeOf(structure), "expecting a structure (= ExtensionObject) here ");
176
+ assert(dataType!.isSubtypeOf(structure), "expecting a structure (= ExtensionObject) here ");
177
177
  assert(!uaArrayVariableNode.$$extensionObjectArray, "UAVariable ExtensionObject array already bounded");
178
178
  uaArrayVariableNode.$$dataType = dataType;
179
179
  uaArrayVariableNode.$$extensionObjectArray = [];
@@ -29,7 +29,7 @@ export * from "../source/loader/register_node_promoter";
29
29
 
30
30
  export { ContinuationPointManager } from "../source/continuation_points/continuation_point_manager";
31
31
 
32
- export { promoteToStateMachine } from "./state_machine/finite_state_machine";
32
+ export { promoteToStateMachine, promoteToStateMachineType } from "./state_machine/finite_state_machine";
33
33
  export * from "../source/interfaces/state_machine/ua_transition_ex";
34
34
 
35
35
  export * from "./namespace_impl";
@@ -134,7 +134,7 @@ function _dumpReferences(xw: XmlWriter, node: BaseNode) {
134
134
  }
135
135
 
136
136
  // get the direct backward reference to a external namespace
137
- if (referenceType.isSupertypeOf(aggregateReferenceType) && !reference.isForward) {
137
+ if (referenceType.isSubtypeOf(aggregateReferenceType) && !reference.isForward) {
138
138
  if (reference.nodeId.namespace !== node.nodeId.namespace) {
139
139
  // todo: may be check that reference.nodeId.namespace is one of the namespace
140
140
  // on which our namespace is build and not a derived one !
@@ -142,23 +142,23 @@ function _dumpReferences(xw: XmlWriter, node: BaseNode) {
142
142
  return true;
143
143
  }
144
144
  }
145
- if (referenceType.isSupertypeOf(hasSubtypeReferenceType) && reference.isForward) {
145
+ if (referenceType.isSubtypeOf(hasSubtypeReferenceType) && reference.isForward) {
146
146
  // return false;
147
147
  }
148
148
  // only keep
149
- if (referenceType.isSupertypeOf(aggregateReferenceType) && reference.isForward) {
149
+ if (referenceType.isSubtypeOf(aggregateReferenceType) && reference.isForward) {
150
150
  return true;
151
- } else if (referenceType.isSupertypeOf(hasSubtypeReferenceType) && !reference.isForward) {
151
+ } else if (referenceType.isSubtypeOf(hasSubtypeReferenceType) && !reference.isForward) {
152
152
  return true;
153
- } else if (referenceType.isSupertypeOf(hasTypeDefinitionReferenceType) && reference.isForward) {
153
+ } else if (referenceType.isSubtypeOf(hasTypeDefinitionReferenceType) && reference.isForward) {
154
154
  return true;
155
- } else if (referenceType.isSupertypeOf(nonHierarchicalReferencesType) && reference.isForward) {
155
+ } else if (referenceType.isSubtypeOf(nonHierarchicalReferencesType) && reference.isForward) {
156
156
  return true;
157
- } else if (referenceType.isSupertypeOf(organizesReferencesType) && !reference.isForward) {
157
+ } else if (referenceType.isSubtypeOf(organizesReferencesType) && !reference.isForward) {
158
158
  return true;
159
- } else if (connectsToReferenceType && referenceType.isSupertypeOf(connectsToReferenceType) && reference.isForward) {
159
+ } else if (connectsToReferenceType && referenceType.isSubtypeOf(connectsToReferenceType) && reference.isForward) {
160
160
  return true;
161
- } else if (referenceType.isSupertypeOf(hasEventSourceReferenceType) && reference.isForward) {
161
+ } else if (referenceType.isSubtypeOf(hasEventSourceReferenceType) && reference.isForward) {
162
162
  return true;
163
163
  }
164
164
  return false;
@@ -10,18 +10,20 @@ import { AttributeIds } from "node-opcua-data-model";
10
10
  import { NodeId } from "node-opcua-nodeid";
11
11
  import { StatusCodes } from "node-opcua-status-code";
12
12
  import { DataType } from "node-opcua-variant";
13
- import { BaseNode, UAMethod, UAObject, UAObjectType, UAVariable } from "node-opcua-address-space-base";
13
+ import { UAString } from "node-opcua-basic-types";
14
+ import { BaseNode, UAMethod, UAObject, UAObjectType, UAVariable, UAVariableT } from "node-opcua-address-space-base";
14
15
  import { registerNodePromoter } from "../../source/loader/register_node_promoter";
15
16
 
16
- import { UAStateMachineEx, TransitionSelector } from "../../source/interfaces/state_machine/ua_state_machine_type";
17
+ import { UAStateMachineEx, TransitionSelector, UAStateMachineTypeHelper } from "../../source/interfaces/state_machine/ua_state_machine_type";
17
18
  import { UAObjectImpl } from "../ua_object_impl";
18
19
  import { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
19
20
  import { BaseNodeImpl } from "../base_node_impl";
21
+ import { UAObjectTypeImpl } from "../ua_object_type_impl";
20
22
 
21
23
  const doDebug = false;
22
24
 
23
- export declare interface UATransitionImpl extends UATransition, UATransitionEx {}
24
- export class UATransitionImpl implements UATransition, UATransitionEx {}
25
+ export declare interface UATransitionImpl extends UATransition, UATransitionEx { }
26
+ export class UATransitionImpl implements UATransition, UATransitionEx { }
25
27
 
26
28
  function getComponentFromTypeAndSubtype(typeDef: UAObjectType): UAObject[] {
27
29
  const components_parts: BaseNode[][] = [];
@@ -65,6 +67,68 @@ const defaultPredicate = (transitions: UATransition[], fromState: UAState, toSta
65
67
  return transitions[0];
66
68
  };
67
69
 
70
+
71
+
72
+ export function getFiniteStateMachineTypeStates(uaFiniteStateMachineType: UAObjectType): UAState[] {
73
+ const addressSpace = uaFiniteStateMachineType.addressSpace;
74
+
75
+ const initialStateType = addressSpace.findObjectType("InitialStateType");
76
+ // istanbul ignore next
77
+ if (!initialStateType) {
78
+ throw new Error("cannot find InitialStateType");
79
+ }
80
+
81
+ const stateType = addressSpace.findObjectType("StateType");
82
+ // istanbul ignore next
83
+ if (!stateType) {
84
+ throw new Error("cannot find StateType");
85
+ }
86
+
87
+ assert(initialStateType.isSubtypeOf(stateType));
88
+
89
+
90
+ let comp = getComponentFromTypeAndSubtype(uaFiniteStateMachineType);
91
+
92
+ comp = comp.filter((c) => {
93
+ if (!c.typeDefinitionObj || c.typeDefinitionObj.nodeClass !== NodeClass.ObjectType) {
94
+ return false;
95
+ }
96
+ return c.typeDefinitionObj.isSubtypeOf(stateType);
97
+ });
98
+
99
+ return comp as UAState[];
100
+ }
101
+ export function getFiniteStateMachineTypeTransitions(uaFiniteStateMachineType: UAObjectType): UATransitionEx[] {
102
+ const addressSpace = uaFiniteStateMachineType.addressSpace;
103
+
104
+ const transitionType = addressSpace.findObjectType("TransitionType");
105
+ // istanbul ignore next
106
+ if (!transitionType) {
107
+ throw new Error("cannot find TransitionType");
108
+ }
109
+
110
+ let comp = getComponentFromTypeAndSubtype(uaFiniteStateMachineType);
111
+
112
+ comp = comp.filter((c) => {
113
+ if (!c.typeDefinitionObj || c.typeDefinitionObj.nodeClass !== NodeClass.ObjectType) {
114
+ return false;
115
+ }
116
+ return c.typeDefinitionObj.isSubtypeOf(transitionType);
117
+ });
118
+
119
+ return comp as UATransitionEx[];
120
+
121
+ }
122
+
123
+ export function getFiniteStateMachineTypeStateByName(uaFiniteStateMachineType: UAObjectType, stateName: string): UAState | null {
124
+ let states = getFiniteStateMachineTypeStates(uaFiniteStateMachineType);
125
+ states = states.filter((s: any) => {
126
+ return s.browseName.name === stateName;
127
+ });
128
+ assert(states.length <= 1);
129
+ return states.length === 1 ? (states[0] as any as UAState) : null;
130
+ }
131
+
68
132
  /*
69
133
  *
70
134
  * @class StateMachine
@@ -75,34 +139,8 @@ const defaultPredicate = (transitions: UATransition[], fromState: UAState, toSta
75
139
  */
76
140
  export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx {
77
141
  public getStates(): UAState[] {
78
- const addressSpace = this.addressSpace;
79
-
80
- const initialStateType = addressSpace.findObjectType("InitialStateType");
81
- // istanbul ignore next
82
- if (!initialStateType) {
83
- throw new Error("cannot find InitialStateType");
84
- }
85
-
86
- const stateType = addressSpace.findObjectType("StateType");
87
- // istanbul ignore next
88
- if (!stateType) {
89
- throw new Error("cannot find StateType");
90
- }
91
-
92
- assert(initialStateType.isSupertypeOf(stateType));
93
-
94
142
  const typeDef = this.typeDefinitionObj;
95
-
96
- let comp = getComponentFromTypeAndSubtype(typeDef);
97
-
98
- comp = comp.filter((c) => {
99
- if (!c.typeDefinitionObj || c.typeDefinitionObj.nodeClass !== NodeClass.ObjectType) {
100
- return false;
101
- }
102
- return c.typeDefinitionObj.isSupertypeOf(stateType);
103
- });
104
-
105
- return comp as UAState[];
143
+ return getFiniteStateMachineTypeStates(typeDef);
106
144
  }
107
145
 
108
146
  public get states(): UAState[] {
@@ -115,34 +153,12 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
115
153
  * @return the state with the given name
116
154
  */
117
155
  public getStateByName(name: string): UAState | null {
118
- let states = this.getStates();
119
- states = states.filter((s: any) => {
120
- return s.browseName.name === name;
121
- });
122
- assert(states.length <= 1);
123
- return states.length === 1 ? (states[0] as any as UAState) : null;
156
+ return getFiniteStateMachineTypeStateByName(this.typeDefinitionObj, name);
124
157
  }
125
158
 
126
159
  public getTransitions(): UATransitionEx[] {
127
- const addressSpace = this.addressSpace;
128
-
129
- const transitionType = addressSpace.findObjectType("TransitionType");
130
- // istanbul ignore next
131
- if (!transitionType) {
132
- throw new Error("cannot find TransitionType");
133
- }
134
160
  const typeDef = this.typeDefinitionObj;
135
-
136
- let comp = getComponentFromTypeAndSubtype(typeDef);
137
-
138
- comp = comp.filter((c) => {
139
- if (!c.typeDefinitionObj || c.typeDefinitionObj.nodeClass !== NodeClass.ObjectType) {
140
- return false;
141
- }
142
- return c.typeDefinitionObj.isSupertypeOf(transitionType);
143
- });
144
-
145
- return comp as UATransitionEx[];
161
+ return getFiniteStateMachineTypeTransitions(typeDef);
146
162
  }
147
163
 
148
164
  public get transitions(): UATransitionEx[] {
@@ -245,8 +261,8 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
245
261
  if (!stateType) {
246
262
  throw new Error("Cannot find StateType");
247
263
  }
248
- assert((_fromStateNode.typeDefinitionObj as any).isSupertypeOf(stateType));
249
- assert((_toStateNode.typeDefinitionObj as any).isSupertypeOf(stateType));
264
+ assert((_fromStateNode.typeDefinitionObj as any).isSubtypeOf(stateType));
265
+ assert((_toStateNode.typeDefinitionObj as any).isSubtypeOf(stateType));
250
266
 
251
267
  let transitions = _fromStateNode.findReferencesAsObject("FromState", false) as UATransitionImpl[];
252
268
 
@@ -358,8 +374,8 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
358
374
  "fromState.id": fromStateNode
359
375
  ? fromStateNode.stateNumber.readValue().value
360
376
  : {
361
- dataType: "Null"
362
- },
377
+ dataType: "Null"
378
+ },
363
379
 
364
380
  toState: {
365
381
  dataType: "LocalizedText",
@@ -398,7 +414,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
398
414
  }
399
415
 
400
416
  // xx assert(this.typeDefinitionObj && !this.subtypeOfObj);
401
- // xx assert(!this.typeDefinitionObj || this.typeDefinitionObj.isSupertypeOf(finiteStateMachineType));
417
+ // xx assert(!this.typeDefinitionObj || this.typeDefinitionObj.isSubtypeOf(finiteStateMachineType));
402
418
  // get current Status
403
419
 
404
420
  const d = this.currentState.readValue();
@@ -424,3 +440,32 @@ export function promoteToStateMachine(node: UAObject): UAStateMachineEx {
424
440
  return _node;
425
441
  }
426
442
  registerNodePromoter(ObjectTypeIds.FiniteStateMachineType, promoteToStateMachine);
443
+
444
+
445
+ export class UAStateMachineTypeImpl extends UAObjectTypeImpl implements UAStateMachineTypeHelper {
446
+ getStateByName(name: string): UAState | null {
447
+ return getFiniteStateMachineTypeStateByName(this, name);
448
+ }
449
+ getStates(): UAState[] {
450
+ return getFiniteStateMachineTypeStates(this);
451
+
452
+ }
453
+ getTransitions(): UATransitionEx[] {
454
+ return getFiniteStateMachineTypeTransitions(this);
455
+ }
456
+ nodeVersion?: UAVariableT<UAString, DataType.String> | undefined;
457
+ _post_initialize(): void {
458
+ /** */
459
+ }
460
+
461
+ }
462
+ export function promoteToStateMachineType(node: UAObject): UAStateMachineTypeHelper {
463
+ if (node instanceof UAStateMachineTypeImpl) {
464
+ return node; // already promoted
465
+ }
466
+ Object.setPrototypeOf(node, UAStateMachineTypeImpl.prototype);
467
+ assert(node instanceof UAStateMachineTypeImpl, "should now be a State Machine");
468
+ const _node = node as unknown as UAStateMachineTypeImpl;
469
+ _node._post_initialize();
470
+ return _node;
471
+ }