node-opcua-address-space 2.170.1 → 2.173.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 (458) hide show
  1. package/dist/source/address_space_ts.d.ts +13 -13
  2. package/dist/source/address_space_ts.js +4 -0
  3. package/dist/source/address_space_ts.js.map +1 -1
  4. package/dist/source/continuation_points/continuation_point_manager.d.ts +6 -3
  5. package/dist/source/continuation_points/continuation_point_manager.js +4 -4
  6. package/dist/source/continuation_points/continuation_point_manager.js.map +1 -1
  7. package/dist/source/helpers/adjust_browse_direction.d.ts +1 -1
  8. package/dist/source/helpers/argument_list.d.ts +13 -11
  9. package/dist/source/helpers/argument_list.js +24 -15
  10. package/dist/source/helpers/argument_list.js.map +1 -1
  11. package/dist/source/helpers/call_helpers.d.ts +6 -3
  12. package/dist/source/helpers/call_helpers.js +5 -6
  13. package/dist/source/helpers/call_helpers.js.map +1 -1
  14. package/dist/source/helpers/coerce_enum_value.d.ts +2 -2
  15. package/dist/source/helpers/coerce_enum_value.js +2 -2
  16. package/dist/source/helpers/coerce_enum_value.js.map +1 -1
  17. package/dist/source/helpers/dump_tools.d.ts +3 -3
  18. package/dist/source/helpers/dump_tools.js +2 -2
  19. package/dist/source/helpers/dump_tools.js.map +1 -1
  20. package/dist/source/helpers/ensure_secure_access.d.ts +1 -1
  21. package/dist/source/helpers/ensure_secure_access.js +1 -1
  22. package/dist/source/helpers/ensure_secure_access.js.map +1 -1
  23. package/dist/source/helpers/make_optionals_map.js +0 -5
  24. package/dist/source/helpers/make_optionals_map.js.map +1 -1
  25. package/dist/source/helpers/multiform_func.d.ts +1 -1
  26. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +1 -1
  27. package/dist/source/helpers/resolve_opaque_on_address_space.js +1 -1
  28. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +1 -1
  29. package/dist/source/index.d.ts +38 -38
  30. package/dist/source/index.js +53 -54
  31. package/dist/source/index.js.map +1 -1
  32. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +3 -3
  33. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +11 -11
  34. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +6 -6
  35. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +3 -3
  36. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +4 -4
  37. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +2 -2
  38. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +2 -2
  39. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +2 -2
  40. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +4 -3
  41. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +2 -2
  42. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +2 -2
  43. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +3 -3
  44. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +10 -13
  45. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +11 -11
  46. package/dist/source/interfaces/alarms_and_conditions/ua_base_event_ex.d.ts +11 -0
  47. package/dist/source/interfaces/alarms_and_conditions/ua_base_event_ex.js +3 -0
  48. package/dist/source/interfaces/alarms_and_conditions/ua_base_event_ex.js.map +1 -0
  49. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +5 -5
  50. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +21 -29
  51. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +3 -7
  52. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +0 -23
  53. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +1 -1
  54. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +3 -3
  55. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +8 -10
  56. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +4 -6
  57. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +5 -5
  58. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +3 -3
  59. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +7 -7
  60. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +5 -8
  61. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +5 -5
  62. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +3 -3
  63. package/dist/source/interfaces/extension_object_constructor.d.ts +3 -3
  64. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +3 -3
  65. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +2 -2
  66. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +3 -3
  67. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +6 -6
  68. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +7 -6
  69. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +4 -0
  70. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +1 -1
  71. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +2 -2
  72. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +2 -2
  73. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +3 -0
  74. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -1
  75. package/dist/source/loader/decode_xml_extension_object.d.ts +4 -4
  76. package/dist/source/loader/decode_xml_extension_object.js +3 -3
  77. package/dist/source/loader/decode_xml_extension_object.js.map +1 -1
  78. package/dist/source/loader/ensure_datatype_extracted.d.ts +2 -2
  79. package/dist/source/loader/ensure_datatype_extracted.js +5 -5
  80. package/dist/source/loader/ensure_datatype_extracted.js.map +1 -1
  81. package/dist/source/loader/generateAddressSpaceRaw.d.ts +3 -3
  82. package/dist/source/loader/generateAddressSpaceRaw.js +6 -6
  83. package/dist/source/loader/generateAddressSpaceRaw.js.map +1 -1
  84. package/dist/source/loader/load_nodeset2.js.map +1 -1
  85. package/dist/source/loader/make_xml_extension_object_parser.d.ts +2 -2
  86. package/dist/source/loader/make_xml_extension_object_parser.js +19 -19
  87. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
  88. package/dist/source/loader/namespace_post_step.d.ts +1 -1
  89. package/dist/source/loader/namespace_post_step.js.map +1 -1
  90. package/dist/source/loader/parsers/extension_object_parser.d.ts +4 -4
  91. package/dist/source/loader/parsers/extension_object_parser.js +22 -23
  92. package/dist/source/loader/parsers/extension_object_parser.js.map +1 -1
  93. package/dist/source/loader/parsers/localized_text_parser.d.ts +2 -2
  94. package/dist/source/loader/parsers/localized_text_parser.js.map +1 -1
  95. package/dist/source/loader/parsers/nodeid_parser.d.ts +1 -1
  96. package/dist/source/loader/parsers/nodeid_parser.js.map +1 -1
  97. package/dist/source/loader/parsers/qualified_name_parser.d.ts +3 -3
  98. package/dist/source/loader/parsers/qualified_name_parser.js.map +1 -1
  99. package/dist/source/loader/parsers/variant_parser.d.ts +5 -5
  100. package/dist/source/loader/parsers/variant_parser.js +13 -13
  101. package/dist/source/loader/parsers/variant_parser.js.map +1 -1
  102. package/dist/source/loader/register_node_promoter.d.ts +1 -1
  103. package/dist/source/loader/register_node_promoter.js.map +1 -1
  104. package/dist/source/namespace.d.ts +4 -4
  105. package/dist/source/namespace_alarm_and_condition.d.ts +22 -21
  106. package/dist/source/namespace_data_access.d.ts +11 -11
  107. package/dist/source/namespace_machine_state.d.ts +4 -4
  108. package/dist/source/pseudo_session.d.ts +8 -5
  109. package/dist/source/pseudo_session.js +28 -28
  110. package/dist/source/pseudo_session.js.map +1 -1
  111. package/dist/source/session_context.js +1 -1
  112. package/dist/source/session_context.js.map +1 -1
  113. package/dist/source/set_namespace_meta_data.d.ts +1 -1
  114. package/dist/source/set_namespace_meta_data.js +1 -1
  115. package/dist/source/set_namespace_meta_data.js.map +1 -1
  116. package/dist/source/ua_addin.d.ts +3 -3
  117. package/dist/source/ua_addin.js +1 -1
  118. package/dist/source/ua_addin.js.map +1 -1
  119. package/dist/source/ua_interface.js +4 -1
  120. package/dist/source/ua_interface.js.map +1 -1
  121. package/dist/source/ua_root_folder.d.ts +1 -1
  122. package/dist/source/ua_two_state_variable_ex.d.ts +5 -5
  123. package/dist/src/_instantiate_helpers.js +1 -1
  124. package/dist/src/_instantiate_helpers.js.map +1 -1
  125. package/dist/src/_mandatory_child_or_requested_optional_filter.d.ts +2 -2
  126. package/dist/src/_mandatory_child_or_requested_optional_filter.js +7 -8
  127. package/dist/src/_mandatory_child_or_requested_optional_filter.js.map +1 -1
  128. package/dist/src/address_space.js +5 -6
  129. package/dist/src/address_space.js.map +1 -1
  130. package/dist/src/address_space_change_event_tools.d.ts +3 -3
  131. package/dist/src/address_space_change_event_tools.js +8 -10
  132. package/dist/src/address_space_change_event_tools.js.map +1 -1
  133. package/dist/src/address_space_private.d.ts +11 -11
  134. package/dist/src/address_space_private.js +3 -0
  135. package/dist/src/address_space_private.js.map +1 -1
  136. package/dist/src/alarms_and_conditions/condition.js.map +1 -1
  137. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +6 -6
  138. package/dist/src/alarms_and_conditions/condition_info_impl.js +6 -15
  139. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +1 -1
  140. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +10 -10
  141. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +76 -47
  142. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -1
  143. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +8 -5
  144. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +15 -9
  145. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -1
  146. package/dist/src/alarms_and_conditions/index.d.ts +3 -3
  147. package/dist/src/alarms_and_conditions/index.js +3 -3
  148. package/dist/src/alarms_and_conditions/index.js.map +1 -1
  149. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +21 -14
  150. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +26 -21
  151. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  152. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +6 -7
  153. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +30 -28
  154. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  155. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +9 -11
  156. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +10 -10
  157. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -1
  158. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +3 -1
  159. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +6 -5
  160. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  161. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +16 -42
  162. package/dist/src/alarms_and_conditions/ua_condition_impl.js +100 -82
  163. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  164. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +12 -7
  165. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +9 -8
  166. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  167. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +18 -18
  168. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +16 -18
  169. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  170. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +4 -4
  171. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +2 -2
  172. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  173. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +10 -9
  174. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +20 -19
  175. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  176. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +2 -4
  177. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -1
  178. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +12 -38
  179. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +50 -65
  180. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  181. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +15 -17
  182. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +15 -11
  183. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  184. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +22 -15
  185. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +35 -24
  186. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  187. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +15 -16
  188. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +19 -14
  189. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  190. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +4 -4
  191. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +1 -1
  192. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  193. package/dist/src/apply_condition_refresh.d.ts +4 -4
  194. package/dist/src/apply_condition_refresh.js +1 -1
  195. package/dist/src/apply_condition_refresh.js.map +1 -1
  196. package/dist/src/base_node_impl.d.ts +4 -6
  197. package/dist/src/base_node_impl.js +3 -3
  198. package/dist/src/base_node_impl.js.map +1 -1
  199. package/dist/src/base_node_private.js +1 -2
  200. package/dist/src/base_node_private.js.map +1 -1
  201. package/dist/src/check_value_rank_compatibility.js +10 -6
  202. package/dist/src/check_value_rank_compatibility.js.map +1 -1
  203. package/dist/src/data_access/add_dataItem_stuff.d.ts +1 -1
  204. package/dist/src/data_access/add_dataItem_stuff.js +2 -22
  205. package/dist/src/data_access/add_dataItem_stuff.js.map +1 -1
  206. package/dist/src/data_access/adjust_datavalue_status_code.d.ts +6 -3
  207. package/dist/src/data_access/adjust_datavalue_status_code.js +3 -3
  208. package/dist/src/data_access/adjust_datavalue_status_code.js.map +1 -1
  209. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +13 -11
  210. package/dist/src/data_access/ua_multistate_discrete_impl.js +28 -23
  211. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -1
  212. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +19 -23
  213. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +31 -31
  214. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +1 -1
  215. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +10 -16
  216. package/dist/src/data_access/ua_two_state_discrete_impl.js +18 -14
  217. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +1 -1
  218. package/dist/src/event_data.js.map +1 -1
  219. package/dist/src/extension_object_array_node.d.ts +5 -2
  220. package/dist/src/extension_object_array_node.js +21 -24
  221. package/dist/src/extension_object_array_node.js.map +1 -1
  222. package/dist/src/get_basic_datatype.d.ts +2 -2
  223. package/dist/src/get_basic_datatype.js.map +1 -1
  224. package/dist/src/historical_access/address_space_historical_data_node.d.ts +3 -3
  225. package/dist/src/historical_access/address_space_historical_data_node.js +24 -17
  226. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -1
  227. package/dist/src/idx_iterator.js +1 -1
  228. package/dist/src/idx_iterator.js.map +1 -1
  229. package/dist/src/index_current.d.ts +31 -31
  230. package/dist/src/index_current.js +45 -45
  231. package/dist/src/index_current.js.map +1 -1
  232. package/dist/src/namespace_impl.d.ts +4 -3
  233. package/dist/src/namespace_impl.js +17 -14
  234. package/dist/src/namespace_impl.js.map +1 -1
  235. package/dist/src/namespace_private.js.map +1 -1
  236. package/dist/src/nodeid_manager.d.ts +3 -3
  237. package/dist/src/nodeid_manager.js +19 -16
  238. package/dist/src/nodeid_manager.js.map +1 -1
  239. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +1 -1
  240. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  241. package/dist/src/nodeset_tools/construct_namespace_dependency.js +22 -9
  242. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +1 -1
  243. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +1 -1
  244. package/dist/src/nodeset_tools/dump_to_bsd.js +15 -11
  245. package/dist/src/nodeset_tools/dump_to_bsd.js.map +1 -1
  246. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +5 -3
  247. package/dist/src/nodeset_tools/nodeset_to_xml.js +69 -72
  248. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -1
  249. package/dist/src/private_namespace.d.ts +2 -2
  250. package/dist/src/private_namespace.js.map +1 -1
  251. package/dist/src/reference_impl.d.ts +2 -2
  252. package/dist/src/reference_impl.js +9 -11
  253. package/dist/src/reference_impl.js.map +1 -1
  254. package/dist/src/role_permissions.d.ts +1 -1
  255. package/dist/src/role_permissions.js.map +1 -1
  256. package/dist/src/state_machine/finite_state_machine.d.ts +11 -14
  257. package/dist/src/state_machine/finite_state_machine.js +36 -30
  258. package/dist/src/state_machine/finite_state_machine.js.map +1 -1
  259. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +8 -6
  260. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +16 -18
  261. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -1
  262. package/dist/src/state_machine/ua_two_state_variable.d.ts +12 -11
  263. package/dist/src/state_machine/ua_two_state_variable.js +24 -29
  264. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -1
  265. package/dist/src/tool_isSubtypeOf.d.ts +5 -5
  266. package/dist/src/tool_isSubtypeOf.js +21 -18
  267. package/dist/src/tool_isSubtypeOf.js.map +1 -1
  268. package/dist/src/ua_condition_type.d.ts +1 -1
  269. package/dist/src/ua_data_type_impl.js.map +1 -1
  270. package/dist/src/ua_method_impl.d.ts +9 -5
  271. package/dist/src/ua_method_impl.js +1 -1
  272. package/dist/src/ua_method_impl.js.map +1 -1
  273. package/dist/src/ua_object_impl.d.ts +7 -5
  274. package/dist/src/ua_object_impl.js +13 -11
  275. package/dist/src/ua_object_impl.js.map +1 -1
  276. package/dist/src/ua_object_type_impl.d.ts +7 -5
  277. package/dist/src/ua_object_type_impl.js +4 -5
  278. package/dist/src/ua_object_type_impl.js.map +1 -1
  279. package/dist/src/ua_reference_type_impl.d.ts +6 -8
  280. package/dist/src/ua_reference_type_impl.js +16 -14
  281. package/dist/src/ua_reference_type_impl.js.map +1 -1
  282. package/dist/src/ua_variable_impl.d.ts +43 -45
  283. package/dist/src/ua_variable_impl.js +99 -83
  284. package/dist/src/ua_variable_impl.js.map +1 -1
  285. package/dist/src/ua_variable_impl_ext_obj.d.ts +3 -3
  286. package/dist/src/ua_variable_impl_ext_obj.js +37 -29
  287. package/dist/src/ua_variable_impl_ext_obj.js.map +1 -1
  288. package/dist/src/ua_variable_type_impl.d.ts +11 -11
  289. package/dist/src/ua_variable_type_impl.js +13 -21
  290. package/dist/src/ua_variable_type_impl.js.map +1 -1
  291. package/dist/src/ua_view_impl.d.ts +3 -4
  292. package/dist/src/ua_view_impl.js +5 -6
  293. package/dist/src/ua_view_impl.js.map +1 -1
  294. package/dist/src/validate_data_type_correctness.d.ts +2 -2
  295. package/dist/src/validate_data_type_correctness.js +12 -3
  296. package/dist/src/validate_data_type_correctness.js.map +1 -1
  297. package/dist/tsconfig_base.tsbuildinfo +1 -1
  298. package/distHelpers/add_event_generator_object.d.ts +5 -2
  299. package/distHelpers/add_event_generator_object.js +2 -2
  300. package/distHelpers/add_event_generator_object.js.map +1 -1
  301. package/distHelpers/alarms_and_conditions_demo.d.ts +1 -1
  302. package/distHelpers/alarms_and_conditions_demo.js +4 -6
  303. package/distHelpers/alarms_and_conditions_demo.js.map +1 -1
  304. package/distHelpers/assertHasMatchingReference.d.ts +1 -1
  305. package/distHelpers/assertHasMatchingReference.js +2 -2
  306. package/distHelpers/assertHasMatchingReference.js.map +1 -1
  307. package/distHelpers/boiler_system.d.ts +6 -3
  308. package/distHelpers/boiler_system.js +44 -42
  309. package/distHelpers/boiler_system.js.map +1 -1
  310. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +1 -1
  311. package/distHelpers/create_minimalist_address_space_nodeset.js +25 -27
  312. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -1
  313. package/distHelpers/get_address_space_fixture.js +1 -1
  314. package/distHelpers/get_address_space_fixture.js.map +1 -1
  315. package/distHelpers/mock_session.d.ts +7 -7
  316. package/distHelpers/mock_session.js +4 -4
  317. package/distHelpers/mock_session.js.map +1 -1
  318. package/distNodeJS/generate_address_space.d.ts +2 -2
  319. package/distNodeJS/generate_address_space.js +2 -2
  320. package/distNodeJS/generate_address_space.js.map +1 -1
  321. package/package.json +36 -36
  322. package/source/address_space_ts.ts +29 -30
  323. package/source/continuation_points/continuation_point_manager.ts +8 -7
  324. package/source/helpers/adjust_browse_direction.ts +1 -1
  325. package/source/helpers/argument_list.ts +37 -25
  326. package/source/helpers/call_helpers.ts +10 -15
  327. package/source/helpers/coerce_enum_value.ts +4 -4
  328. package/source/helpers/dump_tools.ts +6 -11
  329. package/source/helpers/ensure_secure_access.ts +2 -2
  330. package/source/helpers/make_optionals_map.ts +3 -10
  331. package/source/helpers/multiform_func.ts +1 -1
  332. package/source/helpers/resolve_opaque_on_address_space.ts +2 -2
  333. package/source/index.ts +44 -54
  334. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +3 -4
  335. package/source/interfaces/alarms_and_conditions/condition_snapshot.ts +13 -13
  336. package/source/interfaces/alarms_and_conditions/deviation_stuff.ts +8 -10
  337. package/source/interfaces/alarms_and_conditions/install_setpoint_options.ts +4 -5
  338. package/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +4 -6
  339. package/source/interfaces/alarms_and_conditions/instantiate_condition_options.ts +3 -3
  340. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.ts +2 -2
  341. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +2 -2
  342. package/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +6 -3
  343. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.ts +2 -2
  344. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.ts +2 -2
  345. package/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +11 -11
  346. package/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +11 -25
  347. package/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +16 -13
  348. package/source/interfaces/alarms_and_conditions/ua_base_event_ex.ts +12 -0
  349. package/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +5 -5
  350. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +30 -54
  351. package/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +3 -34
  352. package/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +18 -22
  353. package/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +8 -15
  354. package/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +4 -7
  355. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +5 -6
  356. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +3 -3
  357. package/source/interfaces/data_access/ua_multistate_discrete_ex.ts +9 -16
  358. package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +5 -8
  359. package/source/interfaces/data_access/ua_two_state_discrete_ex.ts +5 -5
  360. package/source/interfaces/data_access/ua_y_array_item_ex.ts +3 -3
  361. package/source/interfaces/extension_object_constructor.ts +3 -4
  362. package/source/interfaces/i_condition_variable_type_setter_options.ts +1 -3
  363. package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +3 -3
  364. package/source/interfaces/state_machine/ua_finite_state_machine_type.ts +2 -2
  365. package/source/interfaces/state_machine/ua_program_state_machine_type.ts +3 -3
  366. package/source/interfaces/state_machine/ua_shelved_state_machine_ex.ts +10 -7
  367. package/source/interfaces/state_machine/ua_state_machine_type.ts +11 -8
  368. package/source/interfaces/state_machine/ua_transition_ex.ts +2 -2
  369. package/source/interfaces/ua_subscription_diagnostics_variable_ex.ts +3 -2
  370. package/source/loader/decode_xml_extension_object.ts +7 -7
  371. package/source/loader/ensure_datatype_extracted.ts +14 -19
  372. package/source/loader/generateAddressSpaceRaw.ts +12 -13
  373. package/source/loader/load_nodeset2.ts +3 -3
  374. package/source/loader/make_xml_extension_object_parser.ts +55 -39
  375. package/source/loader/namespace_post_step.ts +3 -4
  376. package/source/loader/parsers/extension_object_parser.ts +63 -62
  377. package/source/loader/parsers/localized_text_parser.ts +3 -3
  378. package/source/loader/parsers/nodeid_parser.ts +2 -3
  379. package/source/loader/parsers/qualified_name_parser.ts +6 -7
  380. package/source/loader/parsers/variant_parser.ts +48 -55
  381. package/source/loader/register_node_promoter.ts +2 -2
  382. package/source/namespace.ts +4 -4
  383. package/source/namespace_alarm_and_condition.ts +22 -22
  384. package/source/namespace_data_access.ts +12 -13
  385. package/source/namespace_machine_state.ts +10 -5
  386. package/source/pseudo_session.ts +53 -50
  387. package/source/session_context.ts +1 -1
  388. package/source/set_namespace_meta_data.ts +3 -3
  389. package/source/ua_addin.ts +10 -11
  390. package/source/ua_interface.ts +10 -7
  391. package/source/ua_root_folder.ts +1 -1
  392. package/source/ua_two_state_variable_ex.ts +5 -5
  393. package/source_nodejs/generate_address_space.ts +5 -9
  394. package/src/_instantiate_helpers.ts +26 -16
  395. package/src/_mandatory_child_or_requested_optional_filter.ts +16 -15
  396. package/src/address_space.ts +24 -33
  397. package/src/address_space_change_event_tools.ts +25 -30
  398. package/src/address_space_private.ts +20 -21
  399. package/src/alarms_and_conditions/condition.ts +0 -2
  400. package/src/alarms_and_conditions/condition_info_impl.ts +11 -19
  401. package/src/alarms_and_conditions/condition_snapshot_impl.ts +106 -82
  402. package/src/alarms_and_conditions/deviation_alarm_helper.ts +20 -15
  403. package/src/alarms_and_conditions/index.ts +3 -3
  404. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +44 -32
  405. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +35 -34
  406. package/src/alarms_and_conditions/ua_base_event_impl.ts +15 -19
  407. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +6 -2
  408. package/src/alarms_and_conditions/ua_condition_impl.ts +140 -130
  409. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +20 -12
  410. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +40 -43
  411. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +7 -7
  412. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +28 -30
  413. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +3 -6
  414. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +59 -90
  415. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +31 -27
  416. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +57 -36
  417. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +31 -27
  418. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +6 -6
  419. package/src/apply_condition_refresh.ts +7 -8
  420. package/src/base_node_impl.ts +63 -44
  421. package/src/base_node_private.ts +12 -4
  422. package/src/check_value_rank_compatibility.ts +18 -14
  423. package/src/data_access/add_dataItem_stuff.ts +3 -4
  424. package/src/data_access/adjust_datavalue_status_code.ts +7 -7
  425. package/src/data_access/ua_multistate_discrete_impl.ts +44 -28
  426. package/src/data_access/ua_multistate_value_discrete_impl.ts +77 -66
  427. package/src/data_access/ua_two_state_discrete_impl.ts +29 -36
  428. package/src/event_data.ts +53 -53
  429. package/src/extension_object_array_node.ts +27 -28
  430. package/src/get_basic_datatype.ts +4 -5
  431. package/src/historical_access/address_space_historical_data_node.ts +65 -50
  432. package/src/idx_iterator.ts +4 -12
  433. package/src/index_current.ts +33 -45
  434. package/src/namespace_impl.ts +75 -62
  435. package/src/namespace_private.ts +2 -8
  436. package/src/nodeid_manager.ts +30 -27
  437. package/src/nodeset_tools/adjust_namespace_array.ts +1 -1
  438. package/src/nodeset_tools/construct_namespace_dependency.ts +30 -18
  439. package/src/nodeset_tools/dump_to_bsd.ts +27 -22
  440. package/src/nodeset_tools/nodeset_to_xml.ts +100 -119
  441. package/src/private_namespace.ts +3 -6
  442. package/src/reference_impl.ts +11 -14
  443. package/src/role_permissions.ts +1 -1
  444. package/src/state_machine/finite_state_machine.ts +60 -61
  445. package/src/state_machine/ua_shelving_state_machine_ex.ts +23 -23
  446. package/src/state_machine/ua_two_state_variable.ts +34 -31
  447. package/src/tool_isSubtypeOf.ts +48 -33
  448. package/src/ua_condition_type.ts +1 -1
  449. package/src/ua_data_type_impl.ts +12 -13
  450. package/src/ua_method_impl.ts +17 -12
  451. package/src/ua_object_impl.ts +38 -33
  452. package/src/ua_object_type_impl.ts +22 -22
  453. package/src/ua_reference_type_impl.ts +19 -19
  454. package/src/ua_variable_impl.ts +240 -220
  455. package/src/ua_variable_impl_ext_obj.ts +63 -50
  456. package/src/ua_variable_type_impl.ts +43 -49
  457. package/src/ua_view_impl.ts +5 -5
  458. package/src/validate_data_type_correctness.ts +17 -8
@@ -3,9 +3,9 @@
3
3
  */
4
4
  // tslint:disable:no-console
5
5
  import chalk from "chalk";
6
- import { AddReferenceOpts, UAReference, BaseNode, UAReferenceType } from "node-opcua-address-space-base";
6
+ import type { AddReferenceOpts, BaseNode, UAReference, UAReferenceType } from "node-opcua-address-space-base";
7
7
  import { assert } from "node-opcua-assert";
8
- import { coerceNodeId, NodeId, NodeIdLike, sameNodeId } from "node-opcua-nodeid";
8
+ import { coerceNodeId, NodeId, type NodeIdLike, sameNodeId } from "node-opcua-nodeid";
9
9
  import { isNullOrUndefined } from "node-opcua-utils";
10
10
 
11
11
  export function isNodeIdString(str: string): boolean {
@@ -15,9 +15,7 @@ export function isNodeIdString(str: string): boolean {
15
15
 
16
16
  function is_valid_reference(ref: UAReference): boolean {
17
17
  const hasRequestedProperties =
18
- Object.prototype.hasOwnProperty.call(ref, "referenceType") &&
19
- Object.prototype.hasOwnProperty.call(ref, "nodeId") &&
20
- !isNullOrUndefined(ref.isForward);
18
+ Object.hasOwn(ref, "referenceType") && Object.hasOwn(ref, "nodeId") && !isNullOrUndefined(ref.isForward);
21
19
 
22
20
  if (!hasRequestedProperties) {
23
21
  return false;
@@ -44,9 +42,9 @@ function _arrow(text: string, length: number, isForward: boolean): string {
44
42
  const extra = text.length % 2 === 1 ? "-" : "";
45
43
 
46
44
  if (isForward) {
47
- return extra + h + " " + text + " " + h + "> ";
45
+ return `${extra + h} ${text} ${h}> `;
48
46
  }
49
- return "<" + h + " " + text + " " + h + extra + " ";
47
+ return `<${h} ${text} ${h}${extra} `;
50
48
  }
51
49
 
52
50
  function _w(str: string, width: number): string {
@@ -54,7 +52,7 @@ function _w(str: string, width: number): string {
54
52
  }
55
53
 
56
54
  function _localCoerceToNodeID(nodeIdLike: string | NodeIdLike | { nodeId: NodeId }): NodeId {
57
- if (Object.prototype.hasOwnProperty.call(nodeIdLike, "nodeId")) {
55
+ if (typeof nodeIdLike === "object" && Object.hasOwn(nodeIdLike, "nodeId")) {
58
56
  return (nodeIdLike as { nodeId: NodeId }).nodeId;
59
57
  }
60
58
  return coerceNodeId(nodeIdLike);
@@ -133,13 +131,13 @@ export class ReferenceImpl implements UAReference {
133
131
  let infoNode = _w(this.nodeId.toString(), 24);
134
132
  let refType = this.referenceType.toString();
135
133
 
136
- if (options && options.addressSpace) {
134
+ if (options?.addressSpace) {
137
135
  const node = options.addressSpace.findNode(this.nodeId);
138
- infoNode = "[" + infoNode + "]" + _w(node?.browseName.toString(), 40);
136
+ infoNode = `[${infoNode}]${_w(node?.browseName.toString(), 40)}`;
139
137
 
140
138
  const ref = options.addressSpace.findReferenceType(this.referenceType);
141
139
  const refNode = options.addressSpace.findNode(ref.nodeId);
142
- refType = refNode.browseName.toString() + " (" + ref.nodeId.toString() + ")";
140
+ refType = `${refNode.browseName.toString()} (${ref.nodeId.toString()})`;
143
141
  }
144
142
  return _arrow(refType, 40, this.isForward) + infoNode;
145
143
  }
@@ -149,7 +147,7 @@ export class ReferenceImpl implements UAReference {
149
147
  */
150
148
  get hash(): string {
151
149
  if (!this.__hash) {
152
- this.__hash = (this.isForward ? "" : "!") + this.referenceType.toString() + "-" + this.nodeId.toString();
150
+ this.__hash = `${(this.isForward ? "" : "!") + this.referenceType.toString()}-${this.nodeId.toString()}`;
153
151
  }
154
152
  return this.__hash;
155
153
  }
@@ -167,7 +165,6 @@ export class ReferenceImpl implements UAReference {
167
165
  */
168
166
  }
169
167
  }
170
- function errorLog(arg0: string, reference: UAReference) {
168
+ function errorLog(_arg0: string, _reference: UAReference) {
171
169
  throw new Error("Function not implemented.");
172
170
  }
173
-
@@ -1,4 +1,4 @@
1
- import { RolePermissionType, RolePermissionTypeOptions } from "node-opcua-types";
1
+ import { RolePermissionType, type RolePermissionTypeOptions } from "node-opcua-types";
2
2
 
3
3
  export function coerceRolePermissions(rolePermissions: RolePermissionTypeOptions[] | undefined): RolePermissionType[] | undefined {
4
4
  if (!rolePermissions) return undefined;
@@ -2,43 +2,44 @@
2
2
  * @module node-opcua-address-space
3
3
  */
4
4
  import chalk from "chalk";
5
- import { UAState, UAStateVariable, UATransition, UATransition_Base, UATransitionVariable } from "node-opcua-nodeset-ua";
5
+ import type { BaseNode, UAMethod, UAObject, UAObjectType, UAVariable } from "node-opcua-address-space-base";
6
6
  import { assert } from "node-opcua-assert";
7
7
  import { ObjectTypeIds } from "node-opcua-constants";
8
8
  import {
9
+ AttributeIds,
9
10
  BrowseDirection,
10
11
  coerceLocalizedText,
11
12
  coerceQualifiedName,
12
- LocalizedText,
13
13
  NodeClass,
14
- QualifiedName
14
+ type QualifiedName
15
15
  } from "node-opcua-data-model";
16
- import { AttributeIds } from "node-opcua-data-model";
17
16
  import { make_debugLog, make_warningLog } from "node-opcua-debug";
18
17
  import { NodeId, sameNodeId } from "node-opcua-nodeid";
18
+ import type { UAState, UATransition } from "node-opcua-nodeset-ua";
19
19
  import { StatusCodes } from "node-opcua-status-code";
20
20
  import { DataType, Variant, VariantArrayType } from "node-opcua-variant";
21
- import { UAString } from "node-opcua-basic-types";
22
- import { BaseNode, UAMethod, UAObject, UAObjectType, UAProperty, UAVariable, UAVariableT } from "node-opcua-address-space-base";
23
- import { registerNodePromoter } from "../../source/loader/register_node_promoter";
24
-
25
- import {
26
- UAStateMachineEx,
21
+ import type {
27
22
  TransitionSelector,
23
+ UAStateMachineEx,
28
24
  UAStateMachineTypeHelper
29
25
  } from "../../source/interfaces/state_machine/ua_state_machine_type";
30
- import { UAObjectImpl } from "../ua_object_impl";
31
- import { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
26
+ import type { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
27
+ import { registerNodePromoter } from "../../source/loader/register_node_promoter";
32
28
  import { BaseNodeImpl } from "../base_node_impl";
29
+ import { UAObjectImpl } from "../ua_object_impl";
33
30
  import { UAObjectTypeImpl } from "../ua_object_type_impl";
34
31
 
35
32
  const warningLog = make_warningLog(__filename);
36
33
 
37
34
  const doDebug = false;
38
- const debugLog = make_debugLog(__filename);
35
+ const debugLog = make_debugLog(__filename);
36
+
37
+ export class UATransitionImplBase extends BaseNodeImpl {
38
+ /* intentionnaly empty */
39
+ }
40
+ export type UATransitionImpl = UATransitionImplBase & UATransitionEx;
41
+ export const UATransitionImpl = UATransitionImplBase as unknown as new () => UATransitionImpl;
39
42
 
40
- export declare interface UATransitionImpl extends UATransition, UATransitionEx {}
41
- export class UATransitionImpl implements UATransition, UATransitionEx {}
42
43
 
43
44
  function getComponentOfType(typeDef: UAObjectType, typedefinition: UAObjectType): UAObject[] {
44
45
  const get = (typeDef: UAObjectType) =>
@@ -61,13 +62,7 @@ function getComponentOfType(typeDef: UAObjectType, typedefinition: UAObjectType)
61
62
  return components_parts as UAObject[];
62
63
  }
63
64
 
64
- export interface UAStateMachineImpl {
65
- currentState: UAStateVariable<LocalizedText>;
66
- lastTransition?: UATransitionVariable<LocalizedText>;
67
65
 
68
- // Extra
69
- _currentStateNode: UAState | null;
70
- }
71
66
 
72
67
  const defaultPredicate = (transitions: UATransition[], fromState: UAState, toState: UAState) => {
73
68
  if (transitions.length === 0) {
@@ -123,19 +118,20 @@ export function getFiniteStateMachineTypeTransitions(uaFiniteStateMachineType: U
123
118
 
124
119
  export function getFiniteStateMachineTypeStateByName(uaFiniteStateMachineType: UAObjectType, stateName: string): UAState | null {
125
120
  let states = getFiniteStateMachineTypeStates(uaFiniteStateMachineType);
126
- states = states.filter((s: any) => {
121
+ states = states.filter((s) => {
127
122
  return s.browseName.name === stateName;
128
123
  });
129
124
  assert(states.length <= 1);
130
- return states.length === 1 ? (states[0] as any as UAState) : null;
125
+ return states.length === 1 ? (states[0]) : null;
131
126
  }
132
127
 
128
+ const $ = (uaObject: UAStateMachineImplBase) => uaObject as unknown as UAStateMachineEx;
133
129
  /*
134
130
  *
135
131
  * @class StateMachine
136
132
  *
137
133
  */
138
- export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx {
134
+ export class UAStateMachineImplBase extends UAObjectImpl {
139
135
  public getStates(): UAState[] {
140
136
  const typeDef = this.typeDefinitionObj;
141
137
  return getFiniteStateMachineTypeStates(typeDef);
@@ -169,7 +165,8 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
169
165
  get initialState(): UAState | null {
170
166
  const addressSpace = this.addressSpace;
171
167
 
172
- const initialStateType = addressSpace.findObjectType("InitialStateType")!;
168
+ const initialStateType = addressSpace.findObjectType("InitialStateType");
169
+ if (!initialStateType) throw new Error("cannot find InitialStateType");
173
170
  const typeDef = this.typeDefinitionObj;
174
171
 
175
172
  const comp = getComponentOfType(typeDef, initialStateType);
@@ -190,9 +187,9 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
190
187
  return node;
191
188
  } else if (node instanceof NodeId) {
192
189
  const addressSpace = this.addressSpace;
193
- return addressSpace.findNode(node) as BaseNode;
190
+ return addressSpace.findNode(node);
194
191
  } else if (typeof node === "string") {
195
- return this.getStateByName(node) as any as BaseNode;
192
+ return this.getStateByName(node);
196
193
  }
197
194
  return null;
198
195
  }
@@ -204,7 +201,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
204
201
  if (!this.currentStateNode) {
205
202
  return true;
206
203
  }
207
- const n = this.currentState.readValue();
204
+ const _n = $(this).currentState.readValue();
208
205
 
209
206
  // to be executed there must be a transition from currentState to toState
210
207
  const transition = this.findTransitionNode(this.currentStateNode, toStateNode, predicate);
@@ -247,18 +244,18 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
247
244
  }
248
245
 
249
246
  const stateType = addressSpace.findObjectType("StateType");
250
-
247
+
251
248
  // c8 ignore next
252
249
  if (!stateType) {
253
250
  throw new Error("Cannot find StateType");
254
251
  }
255
- assert((_fromStateNode.typeDefinitionObj as any).isSubtypeOf(stateType));
256
- assert((_toStateNode.typeDefinitionObj as any).isSubtypeOf(stateType));
252
+ assert(_fromStateNode.typeDefinitionObj.isSubtypeOf(stateType));
253
+ assert(_toStateNode.typeDefinitionObj.isSubtypeOf(stateType));
257
254
 
258
255
  let transitions = _fromStateNode.findReferencesAsObject("FromState", false) as UATransitionImpl[];
259
256
 
260
- transitions = transitions.filter((transition: any) => {
261
- assert(transition.toStateNode.nodeClass === NodeClass.Object);
257
+ transitions = transitions.filter((transition) => {
258
+ assert(transition.toStateNode?.nodeClass === NodeClass.Object);
262
259
  return transition.toStateNode === _toStateNode;
263
260
  });
264
261
  if (transitions.length === 0) {
@@ -278,7 +275,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
278
275
  }
279
276
 
280
277
  public get currentStateNode(): UAState | null {
281
- return this._currentStateNode;
278
+ return $(this)._currentStateNode;
282
279
  }
283
280
 
284
281
  /**
@@ -286,7 +283,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
286
283
  * @type BaseNode
287
284
  */
288
285
  public set currentStateNode(value: UAState | null) {
289
- this._currentStateNode = value;
286
+ $(this)._currentStateNode = value;
290
287
  }
291
288
 
292
289
  /**
@@ -305,7 +302,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
305
302
  public setState(toStateNode: string | UAState | null, predicate?: TransitionSelector): void {
306
303
  if (!toStateNode) {
307
304
  this.currentStateNode = null;
308
- this.currentState.setValueFromSource({ dataType: DataType.LocalizedText, value: null }, StatusCodes.BadStateNotActive);
305
+ $(this).currentState.setValueFromSource({ dataType: DataType.LocalizedText, value: null }, StatusCodes.BadStateNotActive);
309
306
  return;
310
307
  }
311
308
 
@@ -313,19 +310,19 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
313
310
  const state = this.getStateByName(toStateNode);
314
311
  // c8 ignore next
315
312
  if (!state) {
316
- throw new Error("Cannot find state with name " + toStateNode);
313
+ throw new Error(`Cannot find state with name ${toStateNode}`);
317
314
  }
318
315
  toStateNode = state;
319
316
  }
320
317
  const fromStateNode = this.currentStateNode;
321
318
 
322
- toStateNode = this._coerceNode(toStateNode) as any as UAState;
319
+ toStateNode = this._coerceNode(toStateNode) as UAState;
323
320
  assert(toStateNode.nodeClass === NodeClass.Object);
324
321
 
325
- this.currentState.setValueFromSource(
322
+ $(this).currentState.setValueFromSource(
326
323
  {
327
324
  dataType: DataType.LocalizedText,
328
- value: coerceLocalizedText(toStateNode.displayName[0] || toStateNode.browseName.name!)
325
+ value: coerceLocalizedText(toStateNode.displayName[0] || toStateNode.browseName.name || "")
329
326
  },
330
327
  StatusCodes.Good
331
328
  );
@@ -333,7 +330,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
333
330
  this.currentStateNode = toStateNode;
334
331
 
335
332
  const applyCurrentStateOptionalProps = () => {
336
- const uaId = this.currentState.getPropertyByName("Id")! as UAVariable;
333
+ const uaId = $(this).currentState.getPropertyByName("Id") as UAVariable;
337
334
  if (uaId) {
338
335
  uaId.setValueFromSource({
339
336
  dataType: DataType.NodeId,
@@ -341,7 +338,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
341
338
  });
342
339
  }
343
340
 
344
- const uaName = this.currentState.getPropertyByName("Name")! as UAVariable;
341
+ const uaName = $(this).currentState.getPropertyByName("Name") as UAVariable;
345
342
  if (uaName) {
346
343
  uaName.setValueFromSource({
347
344
  dataType: DataType.QualifiedName,
@@ -349,22 +346,22 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
349
346
  });
350
347
  }
351
348
 
352
- const uaNumber = this.currentState.getPropertyByName("Number")! as UAVariable;
349
+ const uaNumber = $(this).currentState.getPropertyByName("Number") as UAVariable;
353
350
  if (uaNumber) {
354
351
  if (!this.currentStateNode) {
355
- const n = uaNumber.setValueFromSource({
352
+ const _n = uaNumber.setValueFromSource({
356
353
  dataType: DataType.UInt32,
357
354
  value: 0 // may be wrong !
358
355
  });
359
356
  } else {
360
- const n = uaNumber.setValueFromSource({
357
+ const _n = uaNumber.setValueFromSource({
361
358
  dataType: DataType.UInt32,
362
359
  value: this.currentStateNode.stateNumber.readValue().value.value
363
360
  });
364
361
  }
365
362
  }
366
363
 
367
- const uaEffectiveDisplayName = this.currentState.getPropertyByName("EffectiveDisplayName")! as UAVariable;
364
+ const uaEffectiveDisplayName = $(this).currentState.getPropertyByName("EffectiveDisplayName") as UAVariable;
368
365
  if (uaEffectiveDisplayName) {
369
366
  uaEffectiveDisplayName.setValueFromSource({
370
367
  dataType: DataType.LocalizedText,
@@ -404,13 +401,15 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
404
401
  | null;
405
402
  if (!ms) return;
406
403
  if (ms.nodeClass !== NodeClass.Object) return;
407
- const stateMachineType = this.addressSpace.findObjectType("StateMachineType")!;
404
+ const stateMachineType = this.addressSpace.findObjectType("StateMachineType");
405
+ if (!stateMachineType) throw new Error("cannot find StateMachineType");
406
+
408
407
  if (!ms.typeDefinitionObj.isSubtypeOf(stateMachineType)) return;
409
408
 
410
409
  const find = (node: UAObjectType, browseName: QualifiedName): UAObject | UAVariable | null => {
411
410
  const r = node
412
411
  .getAggregates()
413
- .filter((x) => x.browseName.name! === browseName.name && x.namespaceIndex === browseName.namespaceIndex);
412
+ .filter((x) => x.browseName.name === browseName.name && x.namespaceIndex === browseName.namespaceIndex);
414
413
  if (r.length === 0) {
415
414
  // look in subType
416
415
  const subType = node.subtypeOfObj;
@@ -442,7 +441,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
442
441
  if (uaLastTransitionMain) {
443
442
  const uaEffectiveTransitionTimeMain = uaLastTransitionMain.getPropertyByName(
444
443
  "EffectiveTransitionTime"
445
- )! as UAVariable;
444
+ ) as UAVariable;
446
445
  if (uaEffectiveTransitionTimeMain) {
447
446
  uaEffectiveTransitionTimeMain.setValueFromSource({
448
447
  dataType: DataType.DateTime,
@@ -462,13 +461,13 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
462
461
  uaLastTransition.setValueFromSource(
463
462
  {
464
463
  dataType: DataType.LocalizedText,
465
- value: transitionNode.displayName[0] || transitionNode.browseName.name!
464
+ value: transitionNode.displayName[0] || transitionNode.browseName.name || ""
466
465
  },
467
466
  StatusCodes.Good,
468
467
  transitionTime
469
468
  );
470
469
 
471
- const uaId = uaLastTransition.getPropertyByName("Id")! as UAVariable;
470
+ const uaId = uaLastTransition.getPropertyByName("Id") as UAVariable;
472
471
  if (uaId) {
473
472
  uaId.setValueFromSource({
474
473
  dataType: DataType.NodeId,
@@ -476,7 +475,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
476
475
  });
477
476
  }
478
477
 
479
- const uaLastTransitionTime = uaLastTransition.getPropertyByName("TransitionTime")! as UAVariable;
478
+ const uaLastTransitionTime = uaLastTransition.getPropertyByName("TransitionTime") as UAVariable;
480
479
  if (uaLastTransitionTime) {
481
480
  uaLastTransitionTime.setValueFromSource({
482
481
  dataType: DataType.DateTime,
@@ -489,7 +488,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
489
488
  * SubA and SubB, then the TransitionTime stays at the point in time where StateA became active whereas the *
490
489
  * EffectiveTransitionTime changes with each change of a sub-state.
491
490
  */
492
- const uaEffectiveTransitionTime = uaLastTransition.getPropertyByName("EffectiveTransitionTime")! as UAVariable;
491
+ const uaEffectiveTransitionTime = uaLastTransition.getPropertyByName("EffectiveTransitionTime") as UAVariable;
493
492
  if (uaEffectiveTransitionTime) {
494
493
  uaEffectiveTransitionTime.setValueFromSource({
495
494
  dataType: DataType.DateTime,
@@ -497,14 +496,14 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
497
496
  });
498
497
  }
499
498
  //
500
- const uaName = uaLastTransition.getPropertyByName("Name")! as UAVariable;
499
+ const uaName = uaLastTransition.getPropertyByName("Name") as UAVariable;
501
500
  if (uaName) {
502
501
  uaName.setValueFromSource({
503
502
  dataType: DataType.QualifiedName,
504
503
  value: transitionNode.browseName
505
504
  });
506
505
  }
507
- const uaNumber = uaLastTransition.getPropertyByName("Number")! as UAVariable;
506
+ const uaNumber = uaLastTransition.getPropertyByName("Number") as UAVariable;
508
507
  if (uaNumber) {
509
508
  uaNumber.setValueFromSource({
510
509
  dataType: DataType.UInt32,
@@ -557,7 +556,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
557
556
  if (doDebug) {
558
557
  const f = fromStateNode.browseName.toString();
559
558
  const t = toStateNode.browseName.toString();
560
- warningLog(chalk.red("Warning"), " cannot raise event : transition " + f + " to " + t + " is missing");
559
+ warningLog(chalk.red("Warning"), ` cannot raise event : transition ${f} to ${t} is missing`);
561
560
  }
562
561
  }
563
562
  }
@@ -575,7 +574,7 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
575
574
  public _post_initialize(): void {
576
575
  const addressSpace = this.addressSpace;
577
576
  const finiteStateMachineType = addressSpace.findObjectType("FiniteStateMachineType");
578
-
577
+
579
578
  // c8 ignore next
580
579
  if (!finiteStateMachineType) {
581
580
  throw new Error("cannot find FiniteStateMachineType");
@@ -585,13 +584,12 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
585
584
  // xx assert(!this.typeDefinitionObj || this.typeDefinitionObj.isSubtypeOf(finiteStateMachineType));
586
585
  // get current Status
587
586
 
588
- const d = this.currentState.readValue();
587
+ const d = $(this).currentState.readValue();
589
588
 
590
589
  if (d.statusCode.isNotGood()) {
591
590
  this.setState(null);
592
591
  } else {
593
- const txt =
594
- d.value && d.value.value ? (d.value.value.text ? d.value.value.text.toString() : d.value.value.toString()) : "";
592
+ const txt = d.value?.value ? (d.value.value.text ? d.value.value.text.toString() : d.value.value.toString()) : "";
595
593
  this.currentStateNode = this.getStateByName(txt);
596
594
  }
597
595
 
@@ -628,7 +626,8 @@ export class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx
628
626
  }
629
627
  }
630
628
  }
631
-
629
+ export type UAStateMachineImpl = UAStateMachineImplBase & UAStateMachineEx;
630
+ export const UAStateMachineImpl = UAStateMachineImplBase as unknown as new () => UAStateMachineImpl;
632
631
  export function promoteToStateMachine(node: UAObject): UAStateMachineEx {
633
632
  if (node instanceof UAStateMachineImpl) {
634
633
  return node; // already promoted
@@ -6,19 +6,17 @@
6
6
  // ShelvingStateMachine
7
7
  // --------------------------------------------------------------------------------------------------
8
8
 
9
+ import type { ISessionContext, UAMethod, UAObject, UAProperty } from "node-opcua-address-space-base";
9
10
  import { assert } from "node-opcua-assert";
10
- import { CallbackT, StatusCodes } from "node-opcua-status-code";
11
- import { DataType, Variant, VariantLike } from "node-opcua-variant";
12
-
13
- import { UAProperty, ISessionContext, UAMethod, UAObject } from "node-opcua-address-space-base";
14
- import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
15
- import { UAState, UATransition } from "node-opcua-nodeset-ua";
16
- import { CallMethodResultOptions } from "node-opcua-service-call";
17
11
  import { DataValue } from "node-opcua-data-value";
18
-
19
- import { UAAlarmConditionImpl } from "../alarms_and_conditions/ua_alarm_condition_impl";
20
- import { UAShelvedStateMachineEx } from "../../source/interfaces/state_machine/ua_shelved_state_machine_ex";
21
- import { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
12
+ import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
13
+ import type { UAState } from "node-opcua-nodeset-ua";
14
+ import type { CallMethodResultOptions } from "node-opcua-service-call";
15
+ import { type CallbackT, StatusCodes } from "node-opcua-status-code";
16
+ import { DataType, Variant, type VariantLike } from "node-opcua-variant";
17
+ import type { UAShelvedStateMachineEx } from "../../source/interfaces/state_machine/ua_shelved_state_machine_ex";
18
+ import type { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
19
+ import { UAAlarmConditionImpl, UAAlarmConditionImplBase } from "../alarms_and_conditions/ua_alarm_condition_impl";
22
20
 
23
21
  import { promoteToStateMachine, UAStateMachineImpl } from "./finite_state_machine";
24
22
 
@@ -32,8 +30,8 @@ export interface UAShelvedStateMachineHelper {
32
30
  _duration: number;
33
31
  }
34
32
 
35
- export interface UAShelvedStateMachineExImpl extends UAShelvedStateMachineHelper {
36
- unshelveTime: UAProperty<number, /*z*/ DataType.Double>;
33
+ export interface UAShelvedStateMachineHelper2 extends UAShelvedStateMachineHelper {
34
+ unshelveTime: UAProperty<number, /*z*/ DataType.Double>;
37
35
  unshelved: UAState;
38
36
  timedShelved: UAState;
39
37
  oneShotShelved: UAState;
@@ -51,7 +49,7 @@ export interface UAShelvedStateMachineExImpl extends UAShelvedStateMachineHelper
51
49
  oneShotShelve2?: UAMethod;
52
50
  }
53
51
 
54
- export class UAShelvedStateMachineExImpl extends UAStateMachineImpl implements UAShelvedStateMachineEx {
52
+ export class UAShelvedStateMachineExImplBase extends UAStateMachineImpl {
55
53
  public static promote(object: UAObject): UAShelvedStateMachineEx {
56
54
  const shelvingState = object as UAShelvedStateMachineExImpl;
57
55
  promoteToStateMachine(shelvingState);
@@ -83,6 +81,8 @@ export class UAShelvedStateMachineExImpl extends UAStateMachineImpl implements U
83
81
  return shelvingState;
84
82
  }
85
83
  }
84
+ export type UAShelvedStateMachineExImpl = UAShelvedStateMachineExImplBase & UAShelvedStateMachineEx;
85
+ export const UAShelvedStateMachineExImpl = UAShelvedStateMachineExImplBase as unknown as new () => UAShelvedStateMachineExImpl;
86
86
 
87
87
  // The Unshelve Method sets the AlarmCondition to the Unshelved state. Normally, the MethodId found
88
88
  // the Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId
@@ -102,7 +102,7 @@ function _unshelve_method(inputArguments: VariantLike[], context: ISessionContex
102
102
  // return callback(null, {statusCode: StatusCodes.BadConditionDisabled});
103
103
  // }
104
104
 
105
- const shelvingState = context.object! as UAShelvedStateMachineExImpl;
105
+ const shelvingState = context.object as UAShelvedStateMachineExImpl;
106
106
  promoteToStateMachine(shelvingState);
107
107
 
108
108
  if (shelvingState.getCurrentState() === "Unshelved") {
@@ -149,8 +149,8 @@ function _automatically_unshelve(shelvingState: UAShelvedStateMachineExImpl) {
149
149
  }
150
150
 
151
151
  function _start_timer_for_automatic_unshelve(shelvingState: UAShelvedStateMachineExImpl, duration: number) {
152
- if (duration < 10 || duration >= Math.pow(2, 31)) {
153
- throw new Error(" Invalid maxTimeShelved duration: " + duration + " must be [10,2**31] ");
152
+ if (duration < 10 || duration >= 2 ** 31) {
153
+ throw new Error(` Invalid maxTimeShelved duration: ${duration} must be [10,2**31] `);
154
154
  }
155
155
  assert(!shelvingState._timer);
156
156
 
@@ -162,7 +162,7 @@ function _start_timer_for_automatic_unshelve(shelvingState: UAShelvedStateMachin
162
162
  debugLog("shelvingState._duration", shelvingState._duration);
163
163
  }
164
164
 
165
- if (duration !== UAAlarmConditionImpl.MaxDuration) {
165
+ if (duration !== UAAlarmConditionImplBase.MaxDuration) {
166
166
  assert(!shelvingState._timer);
167
167
  shelvingState._timer = setTimeout(_automatically_unshelve.bind(null, shelvingState), shelvingState._duration);
168
168
  }
@@ -213,7 +213,7 @@ function _timedShelve_method(
213
213
  });
214
214
  }
215
215
  const maxTimeShelved = alarmNode.getMaxTimeShelved();
216
- assert(isFinite(maxTimeShelved));
216
+ assert(Number.isFinite(maxTimeShelved));
217
217
 
218
218
  assert(inputArguments[0].dataType === DataType.Double); // Duration
219
219
  assert(inputArguments[0] instanceof Variant);
@@ -271,8 +271,8 @@ function _oneShotShelve_method(
271
271
  }
272
272
 
273
273
  const maxTimeShelved = alarmNode.getMaxTimeShelved();
274
- assert(isFinite(maxTimeShelved));
275
- assert(maxTimeShelved !== UAAlarmConditionImpl.MaxDuration);
274
+ assert(Number.isFinite(maxTimeShelved));
275
+ assert(maxTimeShelved !== UAAlarmConditionImplBase.MaxDuration);
276
276
 
277
277
  // set automatic un-shelving timer
278
278
  _clear_timer_if_any(shelvingState);
@@ -305,12 +305,12 @@ function _unShelveTimeFunc(shelvingState: UAShelvedStateMachineExImpl): DataValu
305
305
  value: { dataType: DataType.Double, value: 0 }
306
306
  });
307
307
  }
308
- if (shelvingState.getCurrentState() === "OneShotShelved" && shelvingState._duration === UAAlarmConditionImpl.MaxDuration) {
308
+ if (shelvingState.getCurrentState() === "OneShotShelved" && shelvingState._duration === UAAlarmConditionImplBase.MaxDuration) {
309
309
  return new DataValue({
310
310
  statusCode: StatusCodes.Good,
311
311
  value: {
312
312
  dataType: DataType.Double,
313
- value: UAAlarmConditionImpl.MaxDuration
313
+ value: UAAlarmConditionImplBase.MaxDuration
314
314
  }
315
315
  });
316
316
  }