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,66 +3,54 @@
3
3
  * @module node-opcua-address-space.AlarmsAndConditions
4
4
  */
5
5
  import chalk from "chalk";
6
-
6
+ import {
7
+ type BaseNode,
8
+ fullPath2,
9
+ type INamespace,
10
+ type ISessionContext,
11
+ type ListenerSignature,
12
+ type UAEventType,
13
+ type UAObject,
14
+ type UAVariable
15
+ } from "node-opcua-address-space-base";
7
16
  import { assert } from "node-opcua-assert";
8
- import { ByteString, minDate } from "node-opcua-basic-types";
9
- import { randomGuid } from "node-opcua-basic-types";
17
+ import { type ByteString, getMinOPCUADate, minDate, randomGuid } from "node-opcua-basic-types";
10
18
  import {
11
19
  AttributeIds,
12
20
  BrowseDirection,
13
21
  coerceLocalizedText,
14
22
  LocalizedText,
15
- LocalizedTextLike,
23
+ type LocalizedTextLike,
16
24
  makeAccessLevelFlag,
17
25
  NodeClass,
18
26
  QualifiedName
19
27
  } from "node-opcua-data-model";
20
28
  import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
21
- import { getMinOPCUADate } from "node-opcua-basic-types";
22
29
  import { coerceNodeId, makeNodeId, NodeId, resolveNodeId, sameNodeId } from "node-opcua-nodeid";
23
- import { CallbackT, StatusCode, StatusCodes } from "node-opcua-status-code";
24
- import { CallMethodResultOptions, TimeZoneDataType } from "node-opcua-types";
25
- import { DataType, Variant, VariantLike, VariantOptions } from "node-opcua-variant";
26
- import {
27
- UAVariable,
28
- INamespace,
29
- ISessionContext,
30
- UAEventType,
31
- BaseNode,
32
- UAObject,
33
- InstantiateObjectOptions,
34
- UAProperty,
35
- fullPath2
36
- } from "node-opcua-address-space-base";
37
- import { UAConditionVariable } from "node-opcua-nodeset-ua";
38
-
39
- import { ConditionInfoOptions } from "../../source/interfaces/alarms_and_conditions/condition_info_i";
40
- import { UAConditionEx } from "../../source/interfaces/alarms_and_conditions/ua_condition_ex";
41
- import { ConditionSnapshot } from "../../source/interfaces/alarms_and_conditions/condition_snapshot";
42
- import { InstantiateConditionOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_condition_options";
43
- import { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
44
-
45
- import { AddressSpacePrivate } from "../address_space_private";
30
+ import type { UAConditionVariable } from "node-opcua-nodeset-ua";
31
+ import { type CallbackT, StatusCode, StatusCodes } from "node-opcua-status-code";
32
+ import { type CallMethodResultOptions, TimeZoneDataType } from "node-opcua-types";
33
+ import { DataType, Variant, type VariantLike, type VariantOptions } from "node-opcua-variant";
34
+
35
+ import type { ConditionInfoOptions } from "../../source/interfaces/alarms_and_conditions/condition_info_i";
36
+ import type { ConditionSnapshot } from "../../source/interfaces/alarms_and_conditions/condition_snapshot";
37
+ import type { InstantiateConditionOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_condition_options";
38
+ import type { UAConditionEvents, UAConditionEx } from "../../source/interfaces/alarms_and_conditions/ua_condition_ex";
39
+ import type { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
40
+
41
+ import type { AddressSpacePrivate } from "../address_space_private";
46
42
  import { _install_TwoStateVariable_machinery } from "../state_machine/ua_two_state_variable";
43
+ import type { UAConditionType } from "../ua_condition_type";
47
44
  import { UAObjectImpl } from "../ua_object_impl";
48
- import { UAVariableImpl } from "../ua_variable_impl";
49
- import { UAConditionType } from "../ua_condition_type";
50
- import { UABaseEventImpl } from "./ua_base_event_impl";
45
+ import type { UAVariableImpl } from "../ua_variable_impl";
51
46
  import { ConditionSnapshotImpl } from "./condition_snapshot_impl";
47
+ import { UABaseEventImplBase } from "./ua_base_event_impl";
52
48
 
53
49
  const debugLog = make_debugLog(__filename);
54
50
  const errorLog = make_errorLog(__filename);
55
51
  const doDebug = checkDebugFlag(__filename);
56
52
  const warningLog = make_warningLog(__filename);
57
53
 
58
- export declare interface UAConditionImpl extends UAConditionEx, UABaseEventImpl {
59
- on(eventName: string, eventHandler: any): this;
60
- once(eventName: string, eventHandler: any): this;
61
- conditionClassId: UAProperty<NodeId, /*c*/ DataType.NodeId>;
62
- conditionClassName: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
63
- conditionSubClassId?: UAProperty<NodeId[], DataType.NodeId>;
64
- conditionSubClassName?: UAProperty<LocalizedText[], DataType.LocalizedText>;
65
- }
66
54
  /**
67
55
  *
68
56
  * └─ ConditionType
@@ -85,14 +73,17 @@ export declare interface UAConditionImpl extends UAConditionEx, UABaseEventImpl
85
73
  * │ └─ TripAlarmType
86
74
  *
87
75
  */
88
- export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
76
+
77
+ const $ = (a: UAConditionImplBase): UAConditionEx => a as unknown as UAConditionEx;
78
+
79
+ export class UAConditionImplBase<T extends UAConditionEvents & ListenerSignature<T> = UAConditionEvents> extends UABaseEventImplBase<T> {
89
80
  public static defaultSeverity = 250;
90
81
  public static typeDefinition = resolveNodeId("ConditionType");
91
82
 
92
83
  public static instantiate(
93
84
  namespace: INamespace,
94
85
  conditionTypeId: NodeId | string | UAEventType,
95
- options: any,
86
+ options: InstantiateConditionOptions,
96
87
  data?: Record<string, VariantOptions>
97
88
  ): UAConditionImpl {
98
89
  return UACondition_instantiate(namespace, conditionTypeId, options, data) as UAConditionImpl;
@@ -191,9 +182,9 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
191
182
  statusCode
192
183
  });
193
184
  }
194
- private _branch0: ConditionSnapshot = null as any;
185
+ private _branch0: ConditionSnapshot = null as unknown as ConditionSnapshot;
195
186
  private _previousRetainFlag = false;
196
- private _branches: Map<string, ConditionSnapshot> = new Map()
187
+ private _branches: Map<string, ConditionSnapshot> = new Map();
197
188
 
198
189
  /**
199
190
  * @private
@@ -225,7 +216,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
225
216
  }
226
217
 
227
218
  public getBranches(): ConditionSnapshot[] {
228
- return [... this._branches.values()];
219
+ return [...this._branches.values()];
229
220
  }
230
221
 
231
222
  public getBranchIds(): NodeId[] {
@@ -248,31 +239,35 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
248
239
  assert(!sameNodeId(branch.getBranchId(), NodeId.nullNodeId), "cannot delete branch zero");
249
240
  assert(this._branches.has(key));
250
241
  this._branches.delete(key);
251
- this.emit("branch_deleted", key);
242
+ (this as UAConditionImplBase ).emit("branch_deleted", key);
252
243
  }
253
244
 
245
+
246
+ private get $() {
247
+ return this as unknown as UAConditionEx;
248
+ }
254
249
  /**
255
250
  */
256
251
  public getEnabledState(): boolean {
257
- if (!this.enabledState) {
252
+ if (!this.$.enabledState) {
258
253
  // ua variable is missing
259
254
  return false;
260
255
  }
261
- if (typeof this.enabledState.getValue !== "function") {
256
+ if (typeof this.$.enabledState.getValue !== "function") {
262
257
  // the enabledState is not initialized yet, probably because the addressSpace is not fully initialized
263
258
  // try the id that contains the flag status as a boolean DataValue
264
- if (!this.enabledState.id) {
259
+ if (!this.$.enabledState.id) {
265
260
  return false;
266
261
  }
267
- return this.enabledState.id.readValue().value.value as boolean;
262
+ return this.$.enabledState.id.readValue().value.value as boolean;
268
263
  }
269
- return this.enabledState.getValue();
264
+ return this.$.enabledState.getValue();
270
265
  }
271
266
 
272
267
  /**
273
268
  */
274
269
  public getEnabledStateAsString(): string {
275
- return this.enabledState.getValueAsString();
270
+ return this.$.enabledState.getValueAsString();
276
271
  }
277
272
 
278
273
  /**
@@ -290,6 +285,12 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
290
285
  return StatusCodes.BadConditionAlreadyDisabled;
291
286
  }
292
287
 
288
+ let _previousRetainFlag = false;
289
+ if (enabledState) {
290
+ // record previousRetain flag before disabling the condition (so it can be restored on re-enable)
291
+ _previousRetainFlag = this.currentBranch().getRetain();
292
+ }
293
+
293
294
  this._branch0.setEnabledState(requestedEnabledState, options);
294
295
  // conditionNode.enabledState.setValue(requestedEnabledState);
295
296
 
@@ -303,12 +304,12 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
303
304
  // Condition instance is currently not of interest to Clients.
304
305
  // TODO : shall we really set retain to false or artificially expose the retain false as false
305
306
  // whist enabled state is false ?
306
- this._previousRetainFlag = this.currentBranch().getRetain();
307
+ this._previousRetainFlag = _previousRetainFlag;
307
308
  this.currentBranch().setRetain(false);
308
309
 
309
310
  // todo: install the mechanism by which all condition values will be return
310
311
  // as Null | BadConditionDisabled;
311
- const statusCode = StatusCodes.BadConditionDisabled;
312
+ const _statusCode = StatusCodes.BadConditionDisabled;
312
313
 
313
314
  // a notification must be send
314
315
  this.raiseConditionEvent(this.currentBranch(), true);
@@ -324,7 +325,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
324
325
  // conditionNode.evaluateBranches();
325
326
 
326
327
  // restore retain flag
327
- if (Object.prototype.hasOwnProperty.call(this, "_previousRetainFlag")) {
328
+ if (Object.hasOwn(this, "_previousRetainFlag")) {
328
329
  this.currentBranch().setRetain(this._previousRetainFlag);
329
330
  }
330
331
 
@@ -353,38 +354,38 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
353
354
  /**
354
355
  */
355
356
  public setReceiveTime(time: Date): void {
356
- return this._branch0.setReceiveTime(time);
357
+ this._branch0.setReceiveTime(time);
357
358
  }
358
359
 
359
360
  /**
360
361
  */
361
362
  public setLocalTime(time: TimeZoneDataType): void {
362
- return this._branch0.setLocalTime(time);
363
+ this._branch0.setLocalTime(time);
363
364
  }
364
365
 
365
366
  /**
366
367
  */
367
368
  public setTime(time: Date): void {
368
- return this._branch0.setTime(time);
369
+ this._branch0.setTime(time);
369
370
  }
370
371
 
371
372
  public _assert_valid(): void {
372
- assert(this.receiveTime.readValue().value.dataType === DataType.DateTime);
373
- assert(this.receiveTime.readValue().value.value instanceof Date);
373
+ assert($(this).receiveTime.readValue().value.dataType === DataType.DateTime);
374
+ assert($(this).receiveTime.readValue().value.value instanceof Date);
374
375
 
375
- assert(this.message.readValue().value.dataType === DataType.LocalizedText);
376
- assert(this.severity.readValue().value.dataType === DataType.UInt16);
376
+ assert($(this).message.readValue().value.dataType === DataType.LocalizedText);
377
+ assert($(this).severity.readValue().value.dataType === DataType.UInt16);
377
378
 
378
- assert(this.time.readValue().value.dataType === DataType.DateTime);
379
- assert(this.time.readValue().value.value instanceof Date);
379
+ assert($(this).time.readValue().value.dataType === DataType.DateTime);
380
+ assert($(this).time.readValue().value.value instanceof Date);
380
381
 
381
- assert(this.quality.readValue().value.dataType === DataType.StatusCode);
382
+ assert($(this).quality.readValue().value.dataType === DataType.StatusCode);
382
383
 
383
- assert(this.enabledState.readValue().value.dataType === DataType.LocalizedText);
384
- assert(this.branchId.readValue().value.dataType === DataType.NodeId);
384
+ assert($(this).enabledState.readValue().value.dataType === DataType.LocalizedText);
385
+ assert($(this).branchId.readValue().value.dataType === DataType.NodeId);
385
386
 
386
387
  // note localTime has been made optional in 1.04
387
- assert(!this.localTime || this.localTime.readValue().value.dataType === DataType.ExtensionObject);
388
+ assert(!$(this).localTime || $(this).localTime?.readValue().value.dataType === DataType.ExtensionObject);
388
389
  }
389
390
 
390
391
  /**
@@ -411,7 +412,6 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
411
412
  * @param renewEventId true if event Id of the condition branch should be renewed
412
413
  */
413
414
  public raiseConditionEvent(branch: ConditionSnapshot, renewEventId: boolean): void {
414
- assert(arguments.length === 2, "expecting 2 arguments");
415
415
  if (renewEventId) {
416
416
  branch.renewEventId();
417
417
  }
@@ -428,7 +428,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
428
428
  if (conditionOfNode) {
429
429
  const eventData = (branch as ConditionSnapshotImpl)._constructEventData();
430
430
 
431
- this.emit("event", eventData);
431
+ (this as UAConditionImplBase).emit("event", eventData);
432
432
 
433
433
  if (conditionOfNode instanceof UAObjectImpl) {
434
434
  // xx assert(conditionOfNode.eventNotifier === 0x01);
@@ -464,11 +464,11 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
464
464
  throw new Error("UACondition#raiseNewCondition Condition is not enabled");
465
465
  }
466
466
 
467
- conditionInfo = conditionInfo || { severity: UAConditionImpl.defaultSeverity };
467
+ conditionInfo = conditionInfo || { severity: UAConditionImplBase.defaultSeverity };
468
468
 
469
- conditionInfo.severity = Object.prototype.hasOwnProperty.call(conditionInfo, "severity")
469
+ conditionInfo.severity = Object.hasOwn(conditionInfo, "severity")
470
470
  ? conditionInfo.severity
471
- : UAConditionImpl.defaultSeverity;
471
+ : UAConditionImplBase.defaultSeverity;
472
472
 
473
473
  // only valid for ConditionObjects
474
474
  // todo check that object is of type ConditionType
@@ -476,15 +476,14 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
476
476
  const addressSpace = this.addressSpace;
477
477
 
478
478
  const selfConditionType = this.typeDefinitionObj;
479
- const conditionType = addressSpace.findObjectType("ConditionType")!;
480
- assert(selfConditionType.isSubtypeOf(conditionType));
479
+ const conditionType = addressSpace.findObjectType("ConditionType");
480
+ if (!conditionType || !selfConditionType.isSubtypeOf(conditionType)) {
481
+ throw new Error("UACondition#raiseNewCondition ConditionType not found or invalid");
482
+ }
481
483
 
482
484
  const branch = this.currentBranch();
483
485
  if (!branch) {
484
- warningLog(
485
- "UACondition#raiseNewCondition currentBranch is not defined for node ",
486
- fullPath2(this)
487
- );
486
+ warningLog("UACondition#raiseNewCondition currentBranch is not defined for node ", fullPath2(this));
488
487
  throw new Error("UACondition#raiseNewCondition currentBranch is not defined");
489
488
  }
490
489
  const currentDefaultDate = new Date();
@@ -498,7 +497,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
498
497
  branch.setReceiveTime(receiveTime);
499
498
 
500
499
  // note : in 1.04 LocalTime property is optional
501
- if (Object.prototype.hasOwnProperty.call(this, "localTime")) {
500
+ if (Object.hasOwn(this, "localTime")) {
502
501
  branch.setLocalTime(
503
502
  new TimeZoneDataType({
504
503
  daylightSavingInOffset: false,
@@ -507,23 +506,23 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
507
506
  );
508
507
  }
509
508
 
510
- if (Object.prototype.hasOwnProperty.call(conditionInfo, "message") && conditionInfo.message) {
509
+ if (Object.hasOwn(conditionInfo, "message") && conditionInfo.message) {
511
510
  branch.setMessage(conditionInfo.message);
512
511
  }
513
512
  // todo receive time : when the server received the event from the underlying system.
514
513
  // self.receiveTime.setValueFromSource();
515
514
 
516
- if (Object.prototype.hasOwnProperty.call(conditionInfo, "severity") && conditionInfo.severity !== null) {
517
- assert(isFinite(conditionInfo.severity!));
518
- branch.setSeverity(conditionInfo.severity!, { sourceTimestamp: time });
515
+ if (Object.hasOwn(conditionInfo, "severity") && conditionInfo.severity !== null) {
516
+ assert(Number.isFinite(conditionInfo.severity));
517
+ branch.setSeverity(conditionInfo.severity || 0, { sourceTimestamp: time });
519
518
  }
520
- if (Object.prototype.hasOwnProperty.call(conditionInfo, "quality") && conditionInfo.quality !== null) {
519
+ if (Object.hasOwn(conditionInfo, "quality") && conditionInfo.quality !== null) {
521
520
  assert(conditionInfo.quality instanceof StatusCode);
522
- branch.setQuality(conditionInfo.quality!, { sourceTimestamp: time });
521
+ branch.setQuality(conditionInfo.quality || StatusCodes.Good, { sourceTimestamp: time });
523
522
  }
524
- if (Object.prototype.hasOwnProperty.call(conditionInfo, "retain") && conditionInfo.retain !== null) {
523
+ if (Object.hasOwn(conditionInfo, "retain") && conditionInfo.retain !== null) {
525
524
  assert(typeof conditionInfo.retain === "boolean");
526
- branch.setRetain(!!conditionInfo.retain!);
525
+ branch.setRetain(!!conditionInfo.retain || false);
527
526
  }
528
527
 
529
528
  this.raiseConditionEvent(branch, true);
@@ -548,7 +547,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
548
547
  // for the time being , only current branch
549
548
  const currentBranch = this.currentBranch();
550
549
  if (currentBranch.getRetain()) {
551
- debugLog(" resending condition event for " + this.browseName.toString());
550
+ debugLog(` resending condition event for ${this.browseName.toString()}`);
552
551
  this.raiseConditionEvent(currentBranch, false);
553
552
  return 1;
554
553
  }
@@ -628,11 +627,10 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
628
627
  }
629
628
 
630
629
  public findBranchForEventId(eventId: Buffer | null): ConditionSnapshot | null {
631
- if (sameBuffer(this.eventId!.readValue().value.value, eventId)) {
630
+ if (sameBuffer($(this).eventId?.readValue().value.value, eventId)) {
632
631
  return this.currentBranch();
633
632
  }
634
- const e = [...this._branches.values()]
635
- .filter((branch: ConditionSnapshot) => sameBuffer(branch.getEventId(), eventId));
633
+ const e = [...this._branches.values()].filter((branch: ConditionSnapshot) => sameBuffer(branch.getEventId(), eventId));
636
634
  if (e.length === 1) {
637
635
  return e[0];
638
636
  }
@@ -645,8 +643,10 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
645
643
  throw new Error("Unimplemented , please override");
646
644
  }
647
645
  }
646
+ export type UAConditionImpl = UAConditionImplBase & UAConditionEx;
647
+ export const UAConditionImpl = UAConditionImplBase as unknown as new () => UAConditionImpl;
648
648
 
649
- /**
649
+ /**²
650
650
  * instantiate a Condition.
651
651
  * this will create the unique EventId and will set eventType
652
652
  * @param namespace {INamespace}
@@ -684,7 +684,7 @@ function UACondition_instantiate(
684
684
 
685
685
  /* c8 ignore next */
686
686
  if (!conditionType) {
687
- throw new Error(" cannot find Condition Type for " + conditionTypeId);
687
+ throw new Error(` cannot find Condition Type for ${conditionTypeId}`);
688
688
  }
689
689
 
690
690
  // reminder : abstract event type cannot be instantiated directly !
@@ -718,30 +718,30 @@ function UACondition_instantiate(
718
718
  options.optionals.push("EnabledState.EffectiveTransitionTime");
719
719
  options.optionals.push("EnabledState.EffectiveDisplayName");
720
720
 
721
- const conditionNode = conditionType.instantiate(options) as any as UAConditionImpl;
721
+ const options2 = {
722
+ ...options,
723
+ namespace: options.namespace || namespace
724
+ };
725
+ const conditionNode = conditionType.instantiate(options2) as unknown as UAConditionImpl;
722
726
  Object.setPrototypeOf(conditionNode, UAConditionImpl.prototype);
723
727
  conditionNode.initialize();
724
728
 
725
- assert(
726
- Object.prototype.hasOwnProperty.call(options, "conditionSource"),
727
- "must specify a condition source either as null or as a UAObject"
728
- );
729
+ assert(Object.hasOwn(options, "conditionSource"), "must specify a condition source either as null or as a UAObject");
729
730
  if (!options.conditionOf) {
730
731
  options.conditionOf = options.conditionSource;
731
732
  }
732
733
  if (options.conditionOf) {
733
- assert(Object.prototype.hasOwnProperty.call(options, "conditionOf")); // must provide a conditionOf
734
- options.conditionOf = addressSpace._coerceNode(options.conditionOf)!;
734
+ assert(Object.hasOwn(options, "conditionOf")); // must provide a conditionOf
735
+ options.conditionOf = addressSpace._coerceNode(options.conditionOf);
735
736
 
736
737
  // HasCondition References can be used in the Type definition of an Object or a Variable.
737
- assert(options.conditionOf.nodeClass === NodeClass.Object || options.conditionOf.nodeClass === NodeClass.Variable);
738
+ assert(options.conditionOf?.nodeClass === NodeClass.Object || options.conditionOf?.nodeClass === NodeClass.Variable);
738
739
 
739
740
  conditionNode.addReference({
740
741
  isForward: false,
741
- nodeId: options.conditionOf,
742
+ nodeId: options.conditionOf || NodeId.nullNodeId,
742
743
  referenceType: "HasCondition"
743
744
  });
744
- assert(conditionNode.conditionOfNode()!.nodeId === options.conditionOf.nodeId);
745
745
  }
746
746
 
747
747
  // the constant property of this condition
@@ -791,7 +791,7 @@ function UACondition_instantiate(
791
791
  conditionNode.enabledState.setValue(true);
792
792
 
793
793
  // set properties to in initial values
794
- Object.entries(data!).forEach(([key, value]) => {
794
+ Object.entries(data || {}).forEach(([key, value]) => {
795
795
  const varNode = _getCompositeKey(conditionNode, key);
796
796
  assert(varNode.nodeClass === NodeClass.Variable);
797
797
 
@@ -802,7 +802,7 @@ function UACondition_instantiate(
802
802
 
803
803
  /* c8 ignore next */
804
804
  if (!varNode._validate_DataType(variant.dataType)) {
805
- throw new Error(" Invalid variant dataType " + variant + " " + varNode.browseName.toString());
805
+ throw new Error(` Invalid variant dataType ${variant} ${varNode.browseName.toString()}`);
806
806
  }
807
807
  varNode.setValueFromSource(variant);
808
808
  });
@@ -842,8 +842,12 @@ function UACondition_instantiate(
842
842
  // with the motor.
843
843
 
844
844
  if (options.conditionSource) {
845
- options.conditionSource = addressSpace._coerceNode(options.conditionSource)!;
846
- if (options.conditionSource.nodeClass !== NodeClass.Object && options.conditionSource.nodeClass !== NodeClass.Variable) {
845
+ options.conditionSource = addressSpace._coerceNode(options.conditionSource);
846
+
847
+ if (
848
+ !options.conditionSource ||
849
+ (options.conditionSource.nodeClass !== NodeClass.Object && options.conditionSource.nodeClass !== NodeClass.Variable)
850
+ ) {
847
851
  debugLog(options.conditionSource);
848
852
  throw new Error("Expecting condition source to be NodeClass.Object or Variable");
849
853
  }
@@ -871,8 +875,8 @@ function UACondition_instantiate(
871
875
  errorLog("conditionSourceNode = ", conditionSourceNode.nodeId.toString());
872
876
  throw new Error(
873
877
  "conditionSourceNode must be an event source " +
874
- conditionSourceNode.browseName.toString() +
875
- conditionSourceNode.nodeId.toString()
878
+ conditionSourceNode.browseName.toString() +
879
+ conditionSourceNode.nodeId.toString()
876
880
  );
877
881
  }
878
882
  }
@@ -922,12 +926,12 @@ function UACondition_instantiate(
922
926
  if (typeof options.conditionClass === "string") {
923
927
  options.conditionClass = addressSpace.findObjectType(options.conditionClass);
924
928
  if (!options.conditionClass) {
925
- throw new Error("cannot find condition class " + options.conditionClass);
929
+ throw new Error(`cannot find condition class ${options.conditionClass}`);
926
930
  }
927
931
  }
928
932
  const conditionClassNode = addressSpace._coerceNode(options.conditionClass);
929
933
  if (!conditionClassNode) {
930
- throw new Error("cannot find condition class " + options.conditionClass.toString());
934
+ throw new Error(`cannot find condition class ${options.conditionClass.toString()}`);
931
935
  }
932
936
  conditionClassId = conditionClassNode.nodeId;
933
937
  conditionClassName = conditionClassNode.displayName[0];
@@ -1036,7 +1040,7 @@ function _condition_refresh_method(
1036
1040
  ) {
1037
1041
  // arguments : IntegerId SubscriptionId
1038
1042
  assert(inputArguments.length === 1);
1039
- const addressSpace = context.object!.addressSpace as AddressSpacePrivate;
1043
+ const addressSpace = context.object?.addressSpace as AddressSpacePrivate;
1040
1044
  // c8 ignore next
1041
1045
  if (doDebug) {
1042
1046
  debugLog(chalk.red(" ConditionType.ConditionRefresh ! subscriptionId ="), inputArguments[0].toString());
@@ -1054,7 +1058,7 @@ function _condition_refresh_method(
1054
1058
  });
1055
1059
  }
1056
1060
 
1057
- function _perform_condition_refresh(addressSpace: AddressSpacePrivate, inputArguments: VariantLike[], context: ISessionContext) {
1061
+ function _perform_condition_refresh(addressSpace: AddressSpacePrivate, _inputArguments: VariantLike[], context: ISessionContext) {
1058
1062
  // --- possible StatusCodes:
1059
1063
  //
1060
1064
  // Bad_SubscriptionIdInvalid See Part 4 for the description of this result code
@@ -1071,11 +1075,17 @@ function _perform_condition_refresh(addressSpace: AddressSpacePrivate, inputArgu
1071
1075
 
1072
1076
  addressSpace._condition_refresh_in_progress = true;
1073
1077
 
1074
- const server = context.object!.addressSpace.rootFolder.objects.server;
1075
- const refreshStartEventType = addressSpace.findEventType("RefreshStartEventType")!;
1076
- const refreshEndEventType = addressSpace.findEventType("RefreshEndEventType")!;
1078
+ const server = context.object?.addressSpace.rootFolder.objects.server;
1079
+ const refreshStartEventType = addressSpace.findEventType("RefreshStartEventType");
1080
+ if (!refreshStartEventType) {
1081
+ throw new Error("cannot find RefreshStartEventType");
1082
+ }
1083
+ const refreshEndEventType = addressSpace.findEventType("RefreshEndEventType");
1084
+ if (!refreshEndEventType) {
1085
+ throw new Error("cannot find RefreshEndEventType");
1086
+ }
1077
1087
 
1078
- server.raiseEvent(refreshStartEventType, {});
1088
+ server?.raiseEvent(refreshStartEventType, {});
1079
1089
  // todo : resend retained conditions
1080
1090
 
1081
1091
  const _server = server as unknown as { _conditionRefresh: () => void };
@@ -1083,7 +1093,7 @@ function _perform_condition_refresh(addressSpace: AddressSpacePrivate, inputArgu
1083
1093
  // evaluated all --> hasNotifier/hasEventSource -> node
1084
1094
  _server._conditionRefresh();
1085
1095
 
1086
- server.raiseEvent(refreshEndEventType, {});
1096
+ server?.raiseEvent(refreshEndEventType, {});
1087
1097
 
1088
1098
  addressSpace._condition_refresh_in_progress = false;
1089
1099
 
@@ -1136,13 +1146,13 @@ function _add_comment_method(
1136
1146
  //
1137
1147
  // AlwaysGeneratesEvent AuditConditionCommentEventType
1138
1148
  //
1139
- UAConditionImpl.with_condition_method(
1149
+ UAConditionImplBase.with_condition_method(
1140
1150
  inputArguments,
1141
1151
  context,
1142
1152
  callback,
1143
1153
  (conditionEventId: ByteString, comment: LocalizedText, branch: ConditionSnapshot, conditionNode: UAConditionImpl) => {
1144
- assert(inputArguments instanceof Array);
1145
- assert(conditionEventId instanceof Buffer || conditionEventId === null);
1154
+ assert(Array.isArray(inputArguments));
1155
+ assert(Buffer.isBuffer(conditionEventId) || conditionEventId === null);
1146
1156
  assert(branch instanceof ConditionSnapshotImpl);
1147
1157
  branch.setComment(comment);
1148
1158
 
@@ -1179,7 +1189,7 @@ function sameBuffer(b1: Buffer | null, b2: Buffer | null) {
1179
1189
  }
1180
1190
  assert(b1 instanceof Buffer);
1181
1191
  assert(b2 instanceof Buffer);
1182
- if (b1!.length !== b2!.length) {
1192
+ if (b1?.length !== b2?.length) {
1183
1193
  return false;
1184
1194
  }
1185
1195
  /*
@@ -1187,9 +1197,9 @@ function sameBuffer(b1: Buffer | null, b2: Buffer | null) {
1187
1197
  var bb2 = (Buffer.from(b2)).toString("hex");
1188
1198
  return bb1 === bb2;
1189
1199
  */
1190
- const n = b1!.length;
1200
+ const n = b1?.length || 0;
1191
1201
  for (let i = 0; i < n; i++) {
1192
- if (b1![i] !== b2![i]) {
1202
+ if (b1?.[i] !== b2?.[i]) {
1193
1203
  return false;
1194
1204
  }
1195
1205
  }
@@ -1225,16 +1235,16 @@ function _install_condition_variable_type<T, DT extends DataType>(node: UACondit
1225
1235
  *
1226
1236
  */
1227
1237
  function _getCompositeKey(node: BaseNode, key: string): UAVariableImpl {
1228
- let cur = node as any;
1238
+ let cur: Record<string, unknown> = node as unknown as Record<string, unknown>;
1229
1239
  const elements = key.split(".");
1230
1240
  for (const e of elements) {
1231
1241
  // c8 ignore next
1232
- if (!Object.prototype.hasOwnProperty.call(cur, e)) {
1233
- throw new Error(" cannot extract '" + key + "' from " + node.browseName.toString());
1242
+ if (!Object.hasOwn(cur, e)) {
1243
+ throw new Error(` cannot extract '${key}' from ${node.browseName.toString()}`);
1234
1244
  }
1235
- cur = (cur as any)[e];
1245
+ cur = cur[e] as Record<string, unknown>;
1236
1246
  }
1237
- return cur as UAVariableImpl;
1247
+ return cur as unknown as UAVariableImpl;
1238
1248
  }
1239
1249
 
1240
1250
  /**
@@ -1243,7 +1253,7 @@ function _getCompositeKey(node: BaseNode, key: string): UAVariableImpl {
1243
1253
  * @param context {Object}
1244
1254
  * @private
1245
1255
  */
1246
- function _check_subscription_id_is_valid(subscriptionId: number, context: ISessionContext) {
1256
+ function _check_subscription_id_is_valid(_subscriptionId: number, _context: ISessionContext) {
1247
1257
  /// todo: return StatusCodes.BadSubscriptionIdInvalid; if subscriptionId doesn't belong to session...
1248
1258
  return StatusCodes.Good;
1249
1259
  }