node-opcua-address-space 2.70.3 → 2.71.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 (369) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +34 -34
  8. package/dist/source/helpers/argument_list.js +285 -285
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -17
  12. package/dist/source/helpers/check_event_clause.js +52 -52
  13. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  14. package/dist/source/helpers/coerce_enum_value.js +33 -33
  15. package/dist/source/helpers/dump_tools.d.ts +14 -14
  16. package/dist/source/helpers/dump_tools.js +78 -78
  17. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  18. package/dist/source/helpers/ensure_secure_access.js +76 -76
  19. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  20. package/dist/source/helpers/make_optionals_map.js +29 -29
  21. package/dist/source/helpers/multiform_func.d.ts +11 -11
  22. package/dist/source/helpers/multiform_func.js +73 -73
  23. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  24. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  25. package/dist/source/index.d.ts +40 -40
  26. package/dist/source/index.js +66 -66
  27. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  29. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +23 -0
  30. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +3 -0
  31. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +1 -0
  32. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +6 -0
  33. package/dist/source/interfaces/data_access/ua_discrete_item.js +3 -0
  34. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +1 -0
  35. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +25 -0
  36. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +3 -0
  37. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +1 -0
  38. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  39. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  40. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +27 -0
  41. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +3 -0
  42. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +1 -0
  43. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  44. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  45. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +17 -0
  46. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +3 -0
  47. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +1 -0
  48. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  49. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  50. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +19 -0
  51. package/dist/source/interfaces/data_access/ua_y_array_item.js +3 -0
  52. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +1 -0
  53. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  54. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  55. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +11 -0
  56. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +3 -0
  57. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +1 -0
  58. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +70 -0
  59. package/dist/source/interfaces/state_machine/finite_state_machine.js +3 -0
  60. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +1 -0
  61. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +74 -0
  62. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +3 -0
  63. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +1 -0
  64. package/dist/source/interfaces/state_machine/state_machine.d.ts +342 -0
  65. package/dist/source/interfaces/state_machine/state_machine.js +3 -0
  66. package/dist/source/interfaces/state_machine/state_machine.js.map +1 -0
  67. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  68. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  69. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  70. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  71. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +18 -0
  72. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +3 -0
  73. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +1 -0
  74. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  75. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  76. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  77. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  78. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +29 -0
  79. package/dist/source/interfaces/state_machine/ua_state_variable.js +3 -0
  80. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +1 -0
  81. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  82. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  83. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +26 -0
  84. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +3 -0
  85. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +1 -0
  86. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +41 -0
  87. package/dist/source/interfaces/subscription_diagnostics_variable.js +3 -0
  88. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +1 -0
  89. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  90. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  91. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  92. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  93. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  94. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  95. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  96. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  97. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  98. package/dist/source/loader/load_nodeset2.js +1464 -1464
  99. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  100. package/dist/source/loader/make_xml_extension_object_parser.js +315 -315
  101. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  102. package/dist/source/loader/namespace_post_step.js +47 -47
  103. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  104. package/dist/source/loader/register_node_promoter.js +9 -9
  105. package/dist/source/namespace.d.ts +6 -6
  106. package/dist/source/namespace.js +2 -2
  107. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  108. package/dist/source/namespace_alarm_and_condition.js +2 -2
  109. package/dist/source/namespace_data_access.d.ts +42 -42
  110. package/dist/source/namespace_data_access.js +2 -2
  111. package/dist/source/namespace_machine_state.d.ts +7 -7
  112. package/dist/source/namespace_machine_state.js +2 -2
  113. package/dist/source/pseudo_session.d.ts +55 -55
  114. package/dist/source/pseudo_session.js +203 -203
  115. package/dist/source/session_context.d.ts +111 -111
  116. package/dist/source/session_context.js +265 -265
  117. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  118. package/dist/source/set_namespace_meta_data.js +59 -59
  119. package/dist/source/ua_root_folder.d.ts +9 -9
  120. package/dist/source/ua_root_folder.js +2 -2
  121. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  122. package/dist/source/ua_two_state_variable_ex.js +2 -2
  123. package/dist/source/xml_writer.d.ts +9 -9
  124. package/dist/source/xml_writer.js +2 -2
  125. package/dist/src/address_space.d.ts +392 -392
  126. package/dist/src/address_space.js +1387 -1387
  127. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  128. package/dist/src/address_space_change_event_tools.js +149 -149
  129. package/dist/src/address_space_private.d.ts +43 -43
  130. package/dist/src/address_space_private.js +2 -2
  131. package/dist/src/alarms_and_conditions/base_event_type.d.ts +26 -0
  132. package/dist/src/alarms_and_conditions/base_event_type.js +41 -0
  133. package/dist/src/alarms_and_conditions/base_event_type.js.map +1 -0
  134. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  135. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  136. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  137. package/dist/src/alarms_and_conditions/condition.js +80 -80
  138. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  139. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  140. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  141. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  142. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  143. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  144. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  145. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  146. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  147. package/dist/src/alarms_and_conditions/index.js +34 -34
  148. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +22 -0
  149. package/dist/src/alarms_and_conditions/shelving_state_machine.js +241 -0
  150. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +1 -0
  151. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +16 -0
  152. package/dist/src/alarms_and_conditions/trip_alarm.js +21 -0
  153. package/dist/src/alarms_and_conditions/trip_alarm.js.map +1 -0
  154. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +54 -0
  155. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +255 -0
  156. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +1 -0
  157. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +62 -62
  158. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  159. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +138 -0
  160. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +460 -0
  161. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +1 -0
  162. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +118 -118
  163. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  164. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  165. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  166. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +35 -0
  167. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +32 -0
  168. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +1 -0
  169. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +21 -21
  170. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +25 -25
  171. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +191 -0
  172. package/dist/src/alarms_and_conditions/ua_condition_base.js +1029 -0
  173. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +1 -0
  174. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +182 -182
  175. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1022 -1022
  176. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +11 -0
  177. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +58 -0
  178. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +1 -0
  179. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +17 -17
  180. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  181. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +24 -0
  182. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +59 -0
  183. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +1 -0
  184. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +27 -27
  185. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  186. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +14 -0
  187. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +17 -0
  188. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +1 -0
  189. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +9 -9
  190. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  191. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +22 -0
  192. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +87 -0
  193. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +1 -0
  194. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +38 -38
  195. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  196. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +6 -0
  197. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +11 -0
  198. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +1 -0
  199. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  200. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  201. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +76 -0
  202. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +237 -0
  203. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +1 -0
  204. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +97 -97
  205. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  206. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +27 -0
  207. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +62 -0
  208. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +1 -0
  209. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -28
  210. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  211. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +49 -0
  212. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +176 -0
  213. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +1 -0
  214. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +25 -25
  215. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  216. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +47 -0
  217. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +151 -0
  218. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +1 -0
  219. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +39 -39
  220. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +135 -135
  221. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +16 -0
  222. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +18 -0
  223. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +1 -0
  224. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +16 -16
  225. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  226. package/dist/src/apply_condition_refresh.d.ts +6 -6
  227. package/dist/src/apply_condition_refresh.js +27 -27
  228. package/dist/src/base_node.d.ts +270 -0
  229. package/dist/src/base_node.js +1299 -0
  230. package/dist/src/base_node.js.map +1 -0
  231. package/dist/src/base_node_impl.d.ts +281 -281
  232. package/dist/src/base_node_impl.js +1395 -1395
  233. package/dist/src/base_node_private.d.ts +61 -61
  234. package/dist/src/base_node_private.js +705 -705
  235. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  236. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  237. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  238. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  239. package/dist/src/data_access/ua_analog_item.d.ts +13 -0
  240. package/dist/src/data_access/ua_analog_item.js +37 -0
  241. package/dist/src/data_access/ua_analog_item.js.map +1 -0
  242. package/dist/src/data_access/ua_data_item.d.ts +16 -0
  243. package/dist/src/data_access/ua_data_item.js +66 -0
  244. package/dist/src/data_access/ua_data_item.js.map +1 -0
  245. package/dist/src/data_access/ua_multistate_discrete.d.ts +24 -0
  246. package/dist/src/data_access/ua_multistate_discrete.js +132 -0
  247. package/dist/src/data_access/ua_multistate_discrete.js.map +1 -0
  248. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  249. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  250. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  251. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  252. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  253. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  254. package/dist/src/event_data.d.ts +29 -29
  255. package/dist/src/event_data.js +95 -95
  256. package/dist/src/extension_object_array_node.d.ts +61 -61
  257. package/dist/src/extension_object_array_node.js +276 -276
  258. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  259. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  260. package/dist/src/index_current.d.ts +45 -45
  261. package/dist/src/index_current.js +77 -77
  262. package/dist/src/namespace.d.ts +472 -0
  263. package/dist/src/namespace.js +1759 -0
  264. package/dist/src/namespace.js.map +1 -0
  265. package/dist/src/namespace_impl.d.ts +457 -457
  266. package/dist/src/namespace_impl.js +1733 -1733
  267. package/dist/src/namespace_private.d.ts +21 -21
  268. package/dist/src/namespace_private.js +32 -32
  269. package/dist/src/nodeid_manager.d.ts +36 -36
  270. package/dist/src/nodeid_manager.js +197 -197
  271. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  272. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  273. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  274. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  275. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  276. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  277. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  278. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  279. package/dist/src/reference.d.ts +43 -0
  280. package/dist/src/reference.js +138 -0
  281. package/dist/src/reference.js.map +1 -0
  282. package/dist/src/reference_impl.d.ts +43 -43
  283. package/dist/src/reference_impl.js +139 -139
  284. package/dist/src/role_permissions.d.ts +2 -2
  285. package/dist/src/role_permissions.js +10 -10
  286. package/dist/src/session_context.d.ts +4 -0
  287. package/dist/src/session_context.js +9 -0
  288. package/dist/src/session_context.js.map +1 -0
  289. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  290. package/dist/src/state_machine/finite_state_machine.js +353 -353
  291. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  292. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  293. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  294. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  295. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  296. package/dist/src/tool_isSupertypeOf.js +108 -108
  297. package/dist/src/ua_condition_type.d.ts +8 -8
  298. package/dist/src/ua_condition_type.js +2 -2
  299. package/dist/src/ua_data_type.d.ts +81 -0
  300. package/dist/src/ua_data_type.js +259 -0
  301. package/dist/src/ua_data_type.js.map +1 -0
  302. package/dist/src/ua_data_type_impl.d.ts +93 -93
  303. package/dist/src/ua_data_type_impl.js +368 -368
  304. package/dist/src/ua_method.d.ts +33 -0
  305. package/dist/src/ua_method.js +194 -0
  306. package/dist/src/ua_method.js.map +1 -0
  307. package/dist/src/ua_method_impl.d.ts +41 -41
  308. package/dist/src/ua_method_impl.js +208 -208
  309. package/dist/src/ua_object.d.ts +27 -0
  310. package/dist/src/ua_object.js +153 -0
  311. package/dist/src/ua_object.js.map +1 -0
  312. package/dist/src/ua_object_impl.d.ts +33 -33
  313. package/dist/src/ua_object_impl.js +156 -156
  314. package/dist/src/ua_object_type.d.ts +49 -0
  315. package/dist/src/ua_object_type.js +123 -0
  316. package/dist/src/ua_object_type.js.map +1 -0
  317. package/dist/src/ua_object_type_impl.d.ts +48 -48
  318. package/dist/src/ua_object_type_impl.js +124 -124
  319. package/dist/src/ua_reference_type.d.ts +31 -0
  320. package/dist/src/ua_reference_type.js +108 -0
  321. package/dist/src/ua_reference_type.js.map +1 -0
  322. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  323. package/dist/src/ua_reference_type_impl.js +139 -139
  324. package/dist/src/ua_variable.d.ts +346 -0
  325. package/dist/src/ua_variable.js +1651 -0
  326. package/dist/src/ua_variable.js.map +1 -0
  327. package/dist/src/ua_variable_impl.d.ts +351 -351
  328. package/dist/src/ua_variable_impl.js +1604 -1604
  329. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  330. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  331. package/dist/src/ua_variable_type.d.ts +57 -0
  332. package/dist/src/ua_variable_type.js +530 -0
  333. package/dist/src/ua_variable_type.js.map +1 -0
  334. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  335. package/dist/src/ua_variable_type_impl.js +570 -564
  336. package/dist/src/ua_variable_type_impl.js.map +1 -1
  337. package/dist/src/ua_view.d.ts +16 -0
  338. package/dist/src/ua_view.js +41 -0
  339. package/dist/src/ua_view.js.map +1 -0
  340. package/dist/src/ua_view_impl.d.ts +15 -15
  341. package/dist/src/ua_view_impl.js +36 -36
  342. package/distHelpers/add_event_generator_object.d.ts +3 -3
  343. package/distHelpers/add_event_generator_object.js +65 -65
  344. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  345. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  346. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  347. package/distHelpers/assertHasMatchingReference.js +40 -40
  348. package/distHelpers/boiler_system.d.ts +113 -113
  349. package/distHelpers/boiler_system.js +395 -395
  350. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  351. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  352. package/distHelpers/date_utils.d.ts +3 -3
  353. package/distHelpers/date_utils.js +9 -9
  354. package/distHelpers/dump_statemachine.js +127 -127
  355. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  356. package/distHelpers/get_address_space_fixture.js +30 -30
  357. package/distHelpers/get_mini_address_space.d.ts +7 -7
  358. package/distHelpers/get_mini_address_space.js +36 -36
  359. package/distHelpers/index.d.ts +12 -12
  360. package/distHelpers/index.js +28 -28
  361. package/distHelpers/mock_session.d.ts +14 -14
  362. package/distHelpers/mock_session.js +25 -25
  363. package/distNodeJS/generate_address_space.d.ts +4 -4
  364. package/distNodeJS/generate_address_space.js +41 -41
  365. package/distNodeJS/index.d.ts +1 -1
  366. package/distNodeJS/index.js +17 -17
  367. package/package.json +38 -38
  368. package/src/ua_variable_type_impl.ts +11 -4
  369. package/test_helpers/test_fixtures/eurange_issue.xml +73 -0
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { InstantiateObjectOptions, UAMethod, UAObject, UAObjectType } from "../../address_space_ts";
5
+ import { FiniteStateMachineB } from "./finite_state_machine";
6
+ import { State, Transition } from "./state_machine";
7
+ /**
8
+ * Program Finite State Machine
9
+ *
10
+ *
11
+ * as per part 10 : Program Specification
12
+ *
13
+ * A standard set of base states is defined for Programs as part of the Program Finite State
14
+ * Machine. These states represent the stages in which a Program can exist at an instance in
15
+ * time as viewed by a Client. This state is the Program’s current state. All Programs shall
16
+ * support this base set. A Program may or may not require a Client action to cause the state to
17
+ * change. The states are formally defined in Table 2.
18
+ *
19
+ *
20
+ * Table 2 – Program states
21
+ * | State | Description
22
+ * |-----------|-------------------------------------------------------------------------------------|
23
+ * | Ready | The Program is properly initialized and may be started. |
24
+ * | Running | The Program is executing making progress towards completion. |
25
+ * | Suspended | The Program has been stopped prior to reaching a terminal state but may be resumed. |
26
+ * | Halted | The Program is in a terminal or failed state, and it cannot be started or resumed without being reset|
27
+ *
28
+ * The set of states defined to describe a Program can be expanded. Program sub states can be
29
+ * defined for the base states to provide more resolution of a process and to describe the cause
30
+ * and effect(s) of additional stimuli and transitions.
31
+ * Standards bodies and industry groups may extend the base Program Finite State Model to conform to
32
+ * various industry models. For example, the Halted state can include the sub states “Aborted” and “Completed”
33
+ * to indicate if the function achieved a successful conclusion prior to the transition to Halted.
34
+ */
35
+ export interface ProgramFiniteStateMachineB extends FiniteStateMachineB {
36
+ readonly halted: State;
37
+ readonly ready: State;
38
+ readonly running: State;
39
+ readonly suspended: State;
40
+ readonly haltedToReady: Transition;
41
+ readonly readyToRunning: Transition;
42
+ readonly runningToHalted: Transition;
43
+ readonly runningToReady: Transition;
44
+ readonly runningToSuspended: Transition;
45
+ readonly suspendedToRunning: Transition;
46
+ readonly suspendedToHalted: Transition;
47
+ readonly suspendedToReady: Transition;
48
+ readonly readyToHalted: Transition;
49
+ /**
50
+ * Start Causes the Program to transition from the Ready state to the Running state.
51
+ */
52
+ readonly start: UAMethod;
53
+ /**
54
+ * Suspend Causes the Program to transition from the Running state to the Suspended state.
55
+ */
56
+ readonly suspend: UAMethod;
57
+ /**
58
+ * Resume Causes the Program to transition from the Suspended state to the Running state.
59
+ */
60
+ readonly resume: UAMethod;
61
+ /**
62
+ * Halt Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.
63
+ */
64
+ readonly halt: UAMethod;
65
+ /**
66
+ * Reset Causes the Program to transition from the Halted state to the Ready state
67
+ */
68
+ reset: UAMethod;
69
+ }
70
+ export interface ProgramFiniteStateMachineType extends ProgramFiniteStateMachineB, UAObjectType {
71
+ instantiate(options: InstantiateObjectOptions): ProgramFiniteStateMachine;
72
+ }
73
+ export interface ProgramFiniteStateMachine extends ProgramFiniteStateMachineB, UAObject {
74
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=program_finite_state_machine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program_finite_state_machine.js","sourceRoot":"","sources":["../../../../source/interfaces/state_machine/program_finite_state_machine.ts"],"names":[],"mappings":""}
@@ -0,0 +1,342 @@
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { DateTime, UAString, UInt32 } from "node-opcua-basic-types";
5
+ import { LocalizedText, QualifiedName } from "node-opcua-data-model";
6
+ import { NodeId } from "node-opcua-nodeid";
7
+ import { DataType } from "node-opcua-variant";
8
+ import { InstantiateObjectOptions, Property, UAObject, UAObjectType, UAReferenceType, UAVariableT, UAVariableTypeT } from "../../address_space_ts";
9
+ import { _UAStateVariable } from "./ua_state_variable";
10
+ export declare type UtcTime = DateTime;
11
+ export declare type UABaseEventType = UAObjectType;
12
+ export interface NonHierarchicalReferences extends UAReferenceType {
13
+ }
14
+ export interface StateVariableType extends UAVariableTypeT<LocalizedText, DataType.LocalizedText>, _UAStateVariable {
15
+ isAbstract: false;
16
+ }
17
+ export interface StateVariable extends UAVariableT<LocalizedText, DataType.LocalizedText>, _UAStateVariable {
18
+ }
19
+ /**
20
+ * The TransitionVariableType is the base VariableType for Variables that store a Transition that
21
+ * occurred within a StateMachine as a human readable name.
22
+ *
23
+ * The SourceTimestamp for the value specifies when the Transition occurred. This value may
24
+ * also be exposed with the TransitionTime Property
25
+ */
26
+ export interface TransitionVariableB {
27
+ isAbstract: false;
28
+ /**
29
+ * is a name which uniquely identifies a Transition within the StateMachineType.
30
+ *
31
+ * A subtype may restrict the DataType.
32
+ */
33
+ id: UAVariableT<UAString | NodeId | UInt32, DataType.String | DataType.NodeId | DataType.UInt32>;
34
+ /**
35
+ * Name is a QualifiedName which uniquely identifies a transition within the StateMachineType
36
+ */
37
+ name?: UAVariableT<QualifiedName, DataType.QualifiedName>;
38
+ /**
39
+ * Number is an integer which uniquely identifies a transition within the StateMachineType.
40
+ */
41
+ number?: UAVariableT<UInt32, DataType.UInt32>;
42
+ /**
43
+ * TransitionTime specifies when the transition occurred.
44
+ */
45
+ transitionTime?: UAVariableT<UtcTime, DataType.DateTime>;
46
+ /**
47
+ * Effective Transition time
48
+ *
49
+ * EffectiveTransitionTime specifies the time when the current state or one of its substates was
50
+ * entered. If, for example, a StateA is active and – while active – switches several times between
51
+ * its substates SubA and SubB, then the TransitionTime stays at the point in time where StateA
52
+ * became active whereas the EffectiveTransitionTime changes with each change of a substate.
53
+ */
54
+ effectiveTransitionTime?: UAVariableT<UtcTime, DataType.DateTime>;
55
+ }
56
+ export interface TransitionVariable extends UAVariableT<LocalizedText, DataType.LocalizedText>, TransitionVariableB {
57
+ }
58
+ export interface StateB {
59
+ stateNumber: Property<UInt32, DataType.UInt32>;
60
+ }
61
+ export interface StateType extends StateB, UAObjectType {
62
+ }
63
+ export interface State extends StateB, UAObject {
64
+ }
65
+ export interface TransitionB {
66
+ transitionNumber: Property<UInt32, DataType.UInt32>;
67
+ }
68
+ export interface TransitionType extends TransitionB, UAObjectType {
69
+ }
70
+ export interface Transition extends TransitionB, UAObject {
71
+ }
72
+ /**
73
+ * Initial State Type
74
+ *
75
+ * The InitialStateType is a subtype of the StateType and is formally defined in Table B.8.
76
+ * An Object of the InitialStateType represents the State that a FiniteStateMachine enters
77
+ * when it is activated.
78
+ *
79
+ * Each FiniteStateMachine can have at most one State of type InitialStateType, but
80
+ * a FiniteStateMachine does not have to have a State of this type.
81
+ *
82
+ * A SubStateMachine goes into its initial state whenever the parent state is entered. However, a
83
+ * state machine may define a transition that goes directly to a state of the SubStateMachine. In
84
+ * this case the SubStateMachine goes into that State instead of the initial State. The two
85
+ * scenarios are illustrated in Figure B.4. The transition from State5 to State6 causes the
86
+ * SubStateMachine to go into the initial State (State7), however, the transition from State4 to
87
+ * State8 causes the parent machine to go to State6 and the SubStateMachine will go to State8.
88
+ *
89
+ * If no initial state for a SubStateMachine exists and the State having the SubStateMachine is
90
+ * entered directly, then the State of the SubStateMachine is server-specific.
91
+ */
92
+ export interface InitialStateB extends StateB {
93
+ }
94
+ export interface InitialStateType extends InitialStateB, StateType {
95
+ }
96
+ export interface InitialState extends InitialStateB, State {
97
+ }
98
+ /**
99
+ * ToState Reference Type
100
+ *
101
+ * The ToState ReferenceType is a concrete ReferenceType and can be used directly. It is a
102
+ * subtype of NonHierarchicalReferences.
103
+ *
104
+ * The semantic of this ReferenceType is to point form a Transition to the ending State the
105
+ * Transition connects.
106
+ *
107
+ * The SourceNode of this ReferenceType shall be an Object of the ObjectType TransitionType or
108
+ * one of its subtypes. The TargetNode of this ReferenceType shall be an Object of the ObjectType
109
+ * StateType or one of its subtypes.
110
+ *
111
+ * References of this ReferenceType may be only exposed uni-directional. Sometimes this is
112
+ * required, for example, if a Transition points to a State of a sub-machine.
113
+ */
114
+ export interface ToStateReferenceType extends NonHierarchicalReferences {
115
+ }
116
+ /**
117
+ *
118
+ * FromState Reference Type
119
+ *
120
+ * The FromState ReferenceType is a concrete ReferenceType and can be used directly. It is a
121
+ * subtype of NonHierarchicalReferences.
122
+ *
123
+ * The semantic of this ReferenceType is to point form a Transition to the starting State the
124
+ * Transition connects.
125
+ *
126
+ * The SourceNode of this ReferenceType shall be an Object of the ObjectType TransitionType or
127
+ * one of its subtypes. The TargetNode of this ReferenceType shall be an Object of the ObjectType
128
+ * StateType or one of its subtypes.
129
+ */
130
+ export interface FromStateReferenceType extends NonHierarchicalReferences {
131
+ }
132
+ /**
133
+ * HasCause
134
+ * The HasCause ReferenceType is a concrete ReferenceType and can be used directly. It is a
135
+ * subtype of NonHierarchicalReferences.
136
+ *
137
+ * The semantic of this ReferenceType is to point form a Transition to something that causes the
138
+ * Transition. In this annex we only define Methods as Causes. However, the ReferenceType is
139
+ * not restricted to point to Methods. The referenced Methods can, but do not have to point to a
140
+ * Method of the StateMachineType. For example, it is allowed to point to a server-wide restart
141
+ * Method leading the state machine to go into its initial state.
142
+ *
143
+ * The SourceNode of this ReferenceType shall be an Object of the ObjectType TransitionType or
144
+ * one of its subtypes. The TargetNode can be of any NodeClass
145
+ */
146
+ export interface HasCauseReferenceType extends NonHierarchicalReferences {
147
+ }
148
+ /**
149
+ * HasEffect ReferenceType
150
+ *
151
+ * The HasEffect ReferenceType is a concrete ReferenceType and can be used directly. It is a
152
+ * subtype of NonHierarchicalReferences.
153
+ * The semantic of this ReferenceType is to point form a Transition to something that will be
154
+ * effected when the Transition is triggered. In this annex we only define EventTypes as Effects.
155
+ *
156
+ * However, the ReferenceType is not restricted to point to EventTypes.
157
+ *
158
+ * The SourceNode of this ReferenceType shall be an Object of the ObjectType TransitionType or
159
+ * one of its subtypes. The TargetNode can be of any NodeClass.
160
+ */
161
+ export interface HasEffectReferenceType extends NonHierarchicalReferences {
162
+ }
163
+ /**
164
+ * The HasSubStateMachine ReferenceType is a concrete ReferenceType and can be used
165
+ * directly. It is a subtype of NonHierarchicalReferences.
166
+ *
167
+ * The semantic of this ReferenceType is to point from a State to an instance of
168
+ * StateMachineType which represents the sub-states for the State.
169
+ *
170
+ * The SourceNode of this ReferenceType shall be an Object of the ObjectType StateType.
171
+ *
172
+ * The TargetNode shall be an Object of the ObjectType StateMachineType or one of its subtypes.
173
+ *
174
+ * Each Object can be the TargetNode of at most one HasSubStateMachine Reference.
175
+ *
176
+ * The SourceNode (the state) and the TargetNode (the SubStateMachine) shall belong to the
177
+ * same StateMachine, that is, both shall be referenced from the same Object of type
178
+ * StateMachineType using a HasComponent Reference or a subtype of HasComponent.
179
+ */
180
+ export interface HasSubStateMachine extends NonHierarchicalReferences {
181
+ }
182
+ /**
183
+ * The TransitionEventType is a subtype of the BaseEventType. It can be used to generate an
184
+ * Event identifying that a Transition of a StateMachine was triggered.
185
+ *
186
+ * The TransitionEventType inherits the Properties of the BaseEventType.
187
+ *
188
+ * The inherited Property SourceNode shall be filled with the NodeId of the StateMachine instance
189
+ * where the Transition occurs. If the Transition occurs in a SubStateMachine, then the NodeId of
190
+ * the SubStateMachine has to be used. If the Transition occurs between a StateMachine and a
191
+ * SubStateMachine, then the NodeId of the StateMachine has to be used, independent of the
192
+ * direction of the Transition.
193
+ */
194
+ export interface TransitionEventType extends UABaseEventType {
195
+ /**
196
+ * Transition identifies the Transition that triggered the Event.
197
+ */
198
+ transition: TransitionVariable;
199
+ /**
200
+ * FromState identifies the State before the Transition.
201
+ */
202
+ fromState: StateVariable;
203
+ /**
204
+ * ToState identifies the State after the Transition.
205
+ */
206
+ toState: StateVariable;
207
+ }
208
+ /**
209
+ * Transitions of a FiniteStateMachine are represented as Objects of the ObjectType
210
+ * TransitionType formally defined in Table B.9.
211
+ * Each valid Transition shall have exactly one FromState Reference and exactly one ToState
212
+ * Reference, each pointing to an Object of the ObjectType StateType.
213
+ * Each Transition can have one or more HasCause References pointing to the cause that triggers
214
+ * the Transition.
215
+ * Each Transition can have one or more HasEffect References pointing to the effects that occur
216
+ * when the Transition was triggered.
217
+ */
218
+ export interface TransitionB {
219
+ transitionNumber: Property<UInt32, DataType.UInt32>;
220
+ /**
221
+ * direct access to the ToState node as defined in the ToState Reference
222
+ * toStateNode is pointed by the ToStateReferenceType references
223
+ */
224
+ toStateNode: State | null;
225
+ /**
226
+ * direct access to the FromState node as defined in the ToState Reference
227
+ * fromStateNode is pointed by the ToStateReferenceType references
228
+ */
229
+ fromStateNode: State | null;
230
+ }
231
+ export interface TransitionType extends TransitionB, UAObjectType {
232
+ }
233
+ export interface Transition extends TransitionB, UAObject {
234
+ }
235
+ export declare type TransitionSelector = (transitions: Transition[], fromState: State, toState: State) => Transition | null;
236
+ /**
237
+ * State Machine type
238
+ *
239
+ * StateMachines produce Events which may include the current state of a StateMachine. In that
240
+ * case Servers shall provide all the optional Properties of the StateVariableType in the Event,
241
+ * even if they are not provided on the instances in the AddressSpace.
242
+ */
243
+ /**
244
+ * StateMachineType
245
+ *
246
+ * The StateMachineType is the base ObjectType for all StateMachineTypes. It defines a single
247
+ * Variable which represents the current state of the machine.
248
+ * An instance of this ObjectType shall generate an Event whenever a significant state change occurs.
249
+ * The Server decides which state changes are significant. Servers shall use the GeneratesEvent
250
+ * ReferenceType to indicate which Event(s) could be produced by the StateMachine.
251
+ *
252
+ * Subtypes may add Methods which affect the state of the machine. The Executable Attribute is
253
+ * used to indicate whether the Method is valid given the current state of the machine. The
254
+ * generation of AuditEvents for Methods is defined in Part 4. A StateMachine may not be active.
255
+ *
256
+ * In this case, the CurrentState and LastTransition Variables shall have a status equal to
257
+ * BadStateNotActive (see Table B.17).
258
+ *
259
+ * Subtypes may add components which are instances of StateMachineTypes. These components
260
+ * are considered to be sub-states of the StateMachine. SubStateMachines are only active when
261
+ * the parent machine is in an appropriate state.
262
+ * Events produced by SubStateMachines may be suppressed by the parent machine. In some
263
+ * cases, the parent machine will produce a single Event that reflects changes in multiple
264
+ * SubStateMachines
265
+ */
266
+ export interface StateMachineB {
267
+ /**
268
+ * Current state
269
+ * CurrentState stores the current state of an instance of the StateMachineType. CurrentState
270
+ * provides a human readable name for the current state which may not be suitable for use in
271
+ * application control logic. Applications should use the Id Property of CurrentState if they need a
272
+ * nique identifier for the state.
273
+ */
274
+ readonly currentState: StateVariable;
275
+ /**
276
+ * Last transition
277
+ *
278
+ * LastTransition stores the last transition which occurred in an instance of the StateMachineType.
279
+ * LastTransition provides a human readable name.
280
+ */
281
+ readonly lastTransition?: TransitionVariable | null;
282
+ readonly initialState: InitialState | null;
283
+ readonly states: State[];
284
+ readonly transitions: Transition[];
285
+ /**
286
+ * return all state nodes associated with this state machine
287
+ */
288
+ getStates(): State[];
289
+ /**
290
+ * return all state to state transition node associated with this state machine
291
+ */
292
+ getTransitions(): Transition[];
293
+ /**
294
+ * return the state Node by Name
295
+ * @param name
296
+ */
297
+ getStateByName(name: string): State | null;
298
+ /**
299
+ * returns true if there is a valid transition from currentStateNode to toStateNode
300
+ * @param toStateNode
301
+ */
302
+ isValidTransition(toStateNode: State | string, predicate?: TransitionSelector): boolean;
303
+ /**
304
+ * try to find the valid transition between fromState Node to toState Node
305
+ * @param fromStateNode
306
+ * @param toStateNode
307
+ */
308
+ findTransitionNode(fromStateNode: State, toStateNode: State, predicate?: TransitionSelector): Transition | null;
309
+ /**
310
+ * return the current state as string
311
+ */
312
+ getCurrentState(): string | null;
313
+ /**
314
+ * change the current state
315
+ *
316
+ * note:
317
+ * - a transition from currentState to toState node must exists
318
+ * - a TransitionEventType event will be raised
319
+ * @param toStateNode
320
+ */
321
+ setState(toStateNode: State | string | null, predicate?: TransitionSelector): void;
322
+ }
323
+ export interface StateMachineType extends UAObjectType, StateMachineB {
324
+ readonly currentState: StateVariable;
325
+ readonly lastTransition: TransitionVariable;
326
+ instantiate(options: InstantiateObjectOptions): StateMachine;
327
+ }
328
+ export declare function promoteToStateMachine(node: UAObject): StateMachine;
329
+ export interface StateMachine extends UAObject, StateMachineB {
330
+ readonly currentState: StateVariable;
331
+ readonly lastTransition?: TransitionVariable | null;
332
+ readonly initialState: InitialState | null;
333
+ readonly states: State[];
334
+ readonly transitions: Transition[];
335
+ getStates(): State[];
336
+ getTransitions(): Transition[];
337
+ getStateByName(name: string): State | null;
338
+ isValidTransition(toStateNode: State | string, predicate?: TransitionSelector): boolean;
339
+ findTransitionNode(fromStateNode: State, toStateNode: State, predicate?: TransitionSelector): Transition | null;
340
+ getCurrentState(): string | null;
341
+ setState(toStateNode: State | string, predicate?: TransitionSelector): void;
342
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=state_machine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state_machine.js","sourceRoot":"","sources":["../../../../source/interfaces/state_machine/state_machine.ts"],"names":[],"mappings":""}
@@ -1,12 +1,12 @@
1
- /**
2
- * @module node-opcua-address-space
3
- */
4
- import { InstantiateObjectOptions, UAObject } from "node-opcua-address-space-base";
5
- import { UAExclusiveLimitStateMachine_Base } from "node-opcua-nodeset-ua";
6
- import { UAStateMachineEx, UAStateMachineHelper, UAStateMachineType } from "./ua_state_machine_type";
7
- export interface UAExclusiveLimitStateMachineEx extends UAObject, UAExclusiveLimitStateMachine_Base, UAStateMachineHelper, UAStateMachineEx {
8
- }
9
- export interface UAExclusiveLimitStateMachineType extends UAStateMachineType {
10
- isAbstract: false;
11
- instantiate(options: InstantiateObjectOptions): UAExclusiveLimitStateMachineEx;
12
- }
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { InstantiateObjectOptions, UAObject } from "node-opcua-address-space-base";
5
+ import { UAExclusiveLimitStateMachine_Base } from "node-opcua-nodeset-ua";
6
+ import { UAStateMachineEx, UAStateMachineHelper, UAStateMachineType } from "./ua_state_machine_type";
7
+ export interface UAExclusiveLimitStateMachineEx extends UAObject, UAExclusiveLimitStateMachine_Base, UAStateMachineHelper, UAStateMachineEx {
8
+ }
9
+ export interface UAExclusiveLimitStateMachineType extends UAStateMachineType {
10
+ isAbstract: false;
11
+ instantiate(options: InstantiateObjectOptions): UAExclusiveLimitStateMachineEx;
12
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=ua_exclusive_limit_state_machine_type_ex.js.map
@@ -1,49 +1,49 @@
1
- /**
2
- * @module node-opcua-address-space
3
- */
4
- import { InstantiateObjectOptions } from "node-opcua-address-space-base";
5
- import { UAStateMachineEx, UAStateMachineType } from "./ua_state_machine_type";
6
- /**
7
- * Finite State Machine
8
- *
9
- * The FiniteStateMachineType is the base ObjectType for StateMachines that explicitly define
10
- * the possible States and Transitions. Once the States are defined subtypes shall not add new
11
- * States (see B.4.18).
12
- * The States of the machine are represented with instances of the StateType ObjectType.
13
- *
14
- * EachState shall have a BrowseName which is unique within the StateMachine and shall have a
15
- * StateNumber which shall also be unique across all States defined in the StateMachine.
16
- *
17
- * Be aware that States in a SubStateMachine may have the same StateNumber or BrowseName as
18
- * States in the parent machine. A concrete subtype of FiniteStateMachineType shall define at
19
- * least one State.
20
- *
21
- * A StateMachine may define one State which is an instance of the InitialStateType. This State
22
- * is the State that the machine goes into when it is activated.
23
- *
24
- * The Transitions that may occur are represented with instances of the TransitionType.
25
- *
26
- * Each Transition shall have a BrowseName which is unique within the StateMachine and may have a
27
- * TransitionNumber which shall also be unique across all Transitions defined in the StateMachine.
28
- *
29
- * The initial State for a Transition is a StateType Object which is the target of a FromState
30
- * Reference. The final State for a Transition is a StateType Object which is the target of a ToState
31
- * Reference. The FromState and ToState References shall always be specified.
32
- * A Transition may produce an Event. The Event is indicated by a HasEffect Reference to a
33
- * subtype of BaseEventType. The StateMachineType shall have GeneratesEvent References to
34
- * the targets of a HasEffect Reference for each of its Transitions.
35
- * A FiniteStateMachineType may define Methods that cause a transition to occur. These Methods
36
- * are targets of HasCause References for each of the Transitions that may be triggered by the
37
- * Method. The Executable Attribute for a Method is used to indicate whether the current State of
38
- * the machine allows the Method to be called.
39
- *
40
- * A FiniteStateMachineType may have sub-state-machines which are represented as instances
41
- * of StateMachineType ObjectTypes. Each State shall have a HasSubStateMachine Reference
42
- * to the StateMachineType Object which represents the child States. The SubStateMachine is
43
- * not active if the parent State is not active. In this case the CurrentState and LastTransition
44
- * Variables of the SubStateMachine shall have a status equal to BadStateNotActive (see Table
45
- * B.17).
46
- */
47
- export interface UAFiniteStateMachineType extends UAStateMachineType {
48
- instantiate(options: InstantiateObjectOptions): UAStateMachineEx;
49
- }
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { InstantiateObjectOptions } from "node-opcua-address-space-base";
5
+ import { UAStateMachineEx, UAStateMachineType } from "./ua_state_machine_type";
6
+ /**
7
+ * Finite State Machine
8
+ *
9
+ * The FiniteStateMachineType is the base ObjectType for StateMachines that explicitly define
10
+ * the possible States and Transitions. Once the States are defined subtypes shall not add new
11
+ * States (see B.4.18).
12
+ * The States of the machine are represented with instances of the StateType ObjectType.
13
+ *
14
+ * EachState shall have a BrowseName which is unique within the StateMachine and shall have a
15
+ * StateNumber which shall also be unique across all States defined in the StateMachine.
16
+ *
17
+ * Be aware that States in a SubStateMachine may have the same StateNumber or BrowseName as
18
+ * States in the parent machine. A concrete subtype of FiniteStateMachineType shall define at
19
+ * least one State.
20
+ *
21
+ * A StateMachine may define one State which is an instance of the InitialStateType. This State
22
+ * is the State that the machine goes into when it is activated.
23
+ *
24
+ * The Transitions that may occur are represented with instances of the TransitionType.
25
+ *
26
+ * Each Transition shall have a BrowseName which is unique within the StateMachine and may have a
27
+ * TransitionNumber which shall also be unique across all Transitions defined in the StateMachine.
28
+ *
29
+ * The initial State for a Transition is a StateType Object which is the target of a FromState
30
+ * Reference. The final State for a Transition is a StateType Object which is the target of a ToState
31
+ * Reference. The FromState and ToState References shall always be specified.
32
+ * A Transition may produce an Event. The Event is indicated by a HasEffect Reference to a
33
+ * subtype of BaseEventType. The StateMachineType shall have GeneratesEvent References to
34
+ * the targets of a HasEffect Reference for each of its Transitions.
35
+ * A FiniteStateMachineType may define Methods that cause a transition to occur. These Methods
36
+ * are targets of HasCause References for each of the Transitions that may be triggered by the
37
+ * Method. The Executable Attribute for a Method is used to indicate whether the current State of
38
+ * the machine allows the Method to be called.
39
+ *
40
+ * A FiniteStateMachineType may have sub-state-machines which are represented as instances
41
+ * of StateMachineType ObjectTypes. Each State shall have a HasSubStateMachine Reference
42
+ * to the StateMachineType Object which represents the child States. The SubStateMachine is
43
+ * not active if the parent State is not active. In this case the CurrentState and LastTransition
44
+ * Variables of the SubStateMachine shall have a status equal to BadStateNotActive (see Table
45
+ * B.17).
46
+ */
47
+ export interface UAFiniteStateMachineType extends UAStateMachineType {
48
+ instantiate(options: InstantiateObjectOptions): UAStateMachineEx;
49
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=ua_finite_state_machine_type.js.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { LocalizedText } from "node-opcua-data-model";
5
+ import { NodeId } from "node-opcua-nodeid";
6
+ import { DataType } from "node-opcua-variant";
7
+ import { UAVariableT } from "../../address_space_ts";
8
+ import { _UAStateVariable } from "./ua_state_variable";
9
+ export interface FiniteStateVariableB extends _UAStateVariable {
10
+ /**
11
+ * Id is inherited from the TransitionVariableType and overridden to reflect
12
+ * the required DataType.
13
+ * This value shall be the NodeId of one of the Transition Objects of the FiniteStateMachineType.
14
+ */
15
+ id: UAVariableT<NodeId, DataType.NodeId>;
16
+ }
17
+ export interface FiniteStateVariable extends FiniteStateVariableB, UAVariableT<LocalizedText, DataType.LocalizedText> {
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ua_finite_state_variable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_finite_state_variable.js","sourceRoot":"","sources":["../../../../source/interfaces/state_machine/ua_finite_state_variable.ts"],"names":[],"mappings":""}
@@ -1,11 +1,11 @@
1
- /**
2
- * @module node-opcua-address-space
3
- */
4
- import { InstantiateObjectOptions, UAObjectType } from "node-opcua-address-space-base";
5
- import { UAProgramStateMachine_Base } from "node-opcua-nodeset-ua";
6
- import { UAStateMachineEx } from "./ua_state_machine_type";
7
- export interface UAProgramStateMachineEx extends UAStateMachineEx {
8
- }
9
- export interface UAProgramStateMachineType extends UAProgramStateMachine_Base, UAObjectType {
10
- instantiate(options: InstantiateObjectOptions): UAProgramStateMachineEx;
11
- }
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { InstantiateObjectOptions, UAObjectType } from "node-opcua-address-space-base";
5
+ import { UAProgramStateMachine_Base } from "node-opcua-nodeset-ua";
6
+ import { UAStateMachineEx } from "./ua_state_machine_type";
7
+ export interface UAProgramStateMachineEx extends UAStateMachineEx {
8
+ }
9
+ export interface UAProgramStateMachineType extends UAProgramStateMachine_Base, UAObjectType {
10
+ instantiate(options: InstantiateObjectOptions): UAProgramStateMachineEx;
11
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=ua_program_state_machine_type.js.map