node-opcua-address-space 2.170.1 → 2.172.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 +4 -4
  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 +7 -7
  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 +64 -67
  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 +23 -31
  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 +15 -16
  439. package/src/nodeset_tools/dump_to_bsd.ts +27 -22
  440. package/src/nodeset_tools/nodeset_to_xml.ts +95 -114
  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
@@ -1,29 +1,39 @@
1
- /**
2
- * @module node-opcua-address-space.DataAccess
3
- */
1
+ import type {
2
+ BindVariableOptions,
3
+ CloneExtraInfo,
4
+ CloneFilter,
5
+ CloneOptions,
6
+ INamespace,
7
+ UAVariable
8
+ } from "node-opcua-address-space-base";
4
9
  import { assert } from "node-opcua-assert";
5
- import { DataType, Variant, VariantArrayType } from "node-opcua-variant";
6
- import { coerceInt32, coerceInt64toInt32, coerceUInt64, coerceUInt64toInt32, Int32, Int64, isValidInt64, isValidUInt64 } from "node-opcua-basic-types";
7
- import { coerceLocalizedText, LocalizedText, QualifiedNameLike } from "node-opcua-data-model";
8
- import { DataValue, DataValueT } from "node-opcua-data-value";
9
- import { StatusCodes } from "node-opcua-status-code";
10
- import { StatusCode } from "node-opcua-status-code";
11
- import { NumericRange } from "node-opcua-numeric-range";
12
- import { DTEnumValue } from "node-opcua-nodeset-ua";
13
- import { BindVariableOptions, INamespace, UAVariable, UAProperty, ISessionContext } from "node-opcua-address-space-base";
10
+ import {
11
+ coerceInt32,
12
+ coerceInt64toInt32,
13
+ coerceUInt64,
14
+ coerceUInt64toInt32,
15
+ type Int32,
16
+ type Int64,
17
+ isValidInt64,
18
+ isValidUInt64,
19
+ type UInt64
20
+ } from "node-opcua-basic-types";
14
21
  import { VariableTypeIds } from "node-opcua-constants";
15
- import { _getBasicDataType, _getBasicDataTypeFromDataTypeNodeId } from "../get_basic_datatype";
16
-
17
- import { registerNodePromoter } from "../../source/loader/register_node_promoter";
22
+ import { coerceLocalizedText } from "node-opcua-data-model";
23
+ import type { DataValue } from "node-opcua-data-value";
24
+ import type { DTEnumValue } from "node-opcua-nodeset-ua";
25
+ import { type StatusCode, StatusCodes } from "node-opcua-status-code";
26
+ import { DataType, Variant, VariantArrayType } from "node-opcua-variant";
27
+ import type { AddMultiStateValueDiscreteOptions } from "../../source/address_space_ts";
18
28
  import { coerceEnumValues } from "../../source/helpers/coerce_enum_value";
19
- import { UAMultiStateValueDiscreteEx } from "../../source/interfaces/data_access/ua_multistate_value_discrete_ex";
20
- import { AddMultiStateValueDiscreteOptions } from "../../source/address_space_ts";
21
- import { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
29
+ import type { UAMultiStateValueDiscreteEx } from "../../source/interfaces/data_access/ua_multistate_value_discrete_ex";
30
+ import type { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
31
+ import { registerNodePromoter } from "../../source/loader/register_node_promoter";
32
+ import { _getBasicDataTypeFromDataTypeNodeId } from "../get_basic_datatype";
22
33
  import { UAVariableImpl } from "../ua_variable_impl";
23
-
24
34
  import { add_dataItem_stuff } from "./add_dataItem_stuff";
25
35
 
26
- function convertToArray<T>(array: any): T[] {
36
+ function convertToArray<T>(array: ArrayLike<T> | T[]): T[] {
27
37
  if (Array.isArray(array)) return array;
28
38
  const result: T[] = [];
29
39
  for (let i = 0; i < array.length; i++) {
@@ -42,18 +52,19 @@ const getCoerceToInt32 = (dataType: DataType) => {
42
52
  }
43
53
  };
44
54
 
45
- function install_synchronization<T extends number | Int64 | Int64, DT extends DataType>(
46
- variable: UAMultiStateValueDiscreteEx<T, DT>
55
+ type Number = number | Int64 | UInt64;
56
+
57
+ function install_synchronization<T extends Number, DT extends DataType>(
58
+ _variable: UAVariableImpl & UAMultiStateValueDiscreteEx<T, DT>
47
59
  ) {
48
- const _variable = variable as UAMultiStateValueDiscreteEx<T, DT>;
49
60
  _variable.on("value_changed", (dataValue: DataValue) => {
50
- const valueAsTextNode = variable.valueAsText || (_variable.getComponentByName("ValueAsText") as UAVariable);
61
+ const valueAsTextNode = _variable.valueAsText || (_variable.getComponentByName("ValueAsText") as UAVariable);
51
62
  if (!valueAsTextNode) {
52
63
  return;
53
64
  }
54
65
  if (dataValue.value.arrayType === VariantArrayType.Array || dataValue.value.arrayType === VariantArrayType.Matrix) {
55
66
  //
56
- const coerce = getCoerceToInt32(_variable.getBasicDataType());
67
+ const _coerce = getCoerceToInt32(_variable.getBasicDataType());
57
68
 
58
69
  const values: number[] = convertToArray<Int32>(dataValue.value.value).map((a) => coerceInt32(a));
59
70
  const variantArray: Variant[] = values.map((a) => _variable.findValueAsText(a));
@@ -76,50 +87,38 @@ function install_synchronization<T extends number | Int64 | Int64, DT extends Da
76
87
  _variable.emit("value_changed", dataValue);
77
88
  }
78
89
 
79
- export interface UAMultiStateValueDiscreteImpl<T, DT extends DataType> {
80
- enumValues: UAProperty<DTEnumValue[], DataType.ExtensionObject>;
81
- valueAsText: UAProperty<LocalizedText, DataType.LocalizedText>;
82
-
83
- readValue(
84
- context?: ISessionContext | null,
85
- indexRange?: NumericRange,
86
- dataEncoding?: QualifiedNameLike | null
87
- ): DataValueT<T, DT>;
88
-
89
- readValueAsync(context: ISessionContext | null, callback?: any): any;
90
- }
91
- export class UAMultiStateValueDiscreteImpl<T, DT extends DataType>
92
- extends UAVariableImpl
93
- implements UAMultiStateValueDiscreteEx<T, DT>
94
- {
90
+ export class UAMultiStateValueDiscreteImplBase<T extends Number, DT extends DataType> extends UAVariableImpl {
91
+ private get $6(): UAMultiStateValueDiscreteEx<T, DT> {
92
+ return this as unknown as UAMultiStateValueDiscreteEx<T, DT>;
93
+ }
95
94
  public setValue(value: string | number | Int64, options?: ISetStateOptions): void {
96
95
  if (typeof value === "string") {
97
- const enumValues = this.enumValues.readValue().value.value;
98
- const selected = enumValues.filter((a: any) => a.displayName.text === value)[0];
96
+ const enumValues = this.$6.enumValues.readValue().value.value;
97
+ const selected = enumValues.filter((a) => a.displayName.text === value)[0];
99
98
  if (selected) {
100
99
  this._setValue(selected.value);
101
100
  } else {
102
- throw new Error("cannot find enum string " + value + " in " + enumValues.toString());
101
+ throw new Error(`cannot find enum string ${value} in ${enumValues.toString()}`);
103
102
  }
104
103
  } else {
105
104
  this._setValue(coerceUInt64(value), options);
106
105
  }
107
106
  }
108
107
 
109
- public getValueAsString(): any {
110
- const v = this.valueAsText.readValue().value.value;
108
+ public getValueAsString(): string | string[] {
109
+ const v = this.$6.valueAsText.readValue().value.value;
111
110
  if (Array.isArray(v)) {
112
111
  return v.map((a) => a.text);
113
112
  }
114
113
  return v.text || "";
115
114
  }
116
115
 
117
- public getValueAsNumber(): any {
116
+ public getValueAsNumber(): number {
118
117
  return this.readValue().value.value;
119
118
  }
120
119
 
121
120
  public checkVariantCompatibility(value: Variant): StatusCode {
122
- if (this.enumValues) {
121
+ if (this.$6.enumValues) {
123
122
  if (!this._isValueInRange(coerceInt32(value.value))) {
124
123
  return StatusCodes.BadOutOfRange;
125
124
  }
@@ -127,7 +126,11 @@ export class UAMultiStateValueDiscreteImpl<T, DT extends DataType>
127
126
  return StatusCodes.Good;
128
127
  }
129
128
 
130
- public clone<T, DT extends DataType>(options1: any, optionalFilter: any, extraInfo: any): UAMultiStateValueDiscreteImpl<T, DT> {
129
+ public clone(
130
+ options1: CloneOptions,
131
+ optionalFilter?: CloneFilter,
132
+ extraInfo?: CloneExtraInfo
133
+ ): UAMultiStateValueDiscreteImpl<T, DT> {
131
134
  const variable1 = UAVariableImpl.prototype.clone.call(this, options1, optionalFilter, extraInfo);
132
135
  return promoteToMultiStateValueDiscrete(variable1);
133
136
  }
@@ -137,7 +140,7 @@ export class UAMultiStateValueDiscreteImpl<T, DT extends DataType>
137
140
  */
138
141
  public _isValueInRange(value: number): boolean {
139
142
  // MultiStateValueDiscreteType
140
- const enumValues = this.enumValues.readValue().value.value as DTEnumValue[];
143
+ const enumValues = this.$6.enumValues.readValue().value.value as DTEnumValue[];
141
144
  const e = enumValues.findIndex((x: DTEnumValue) => coerceInt64toInt32(x.value) === value);
142
145
  return !(e === -1);
143
146
  }
@@ -147,9 +150,9 @@ export class UAMultiStateValueDiscreteImpl<T, DT extends DataType>
147
150
  */
148
151
  public _enumValueIndex(): Record<Int32, DTEnumValue> {
149
152
  // construct an index to quickly find a EnumValue from a value
150
- const enumValues: DTEnumValue[] = this.enumValues.readValue().value.value;
153
+ const enumValues: DTEnumValue[] = this.$6.enumValues.readValue().value.value;
151
154
  const enumValueIndex: Record<Int32, DTEnumValue> = Object.create(null);
152
- if (!enumValues || !enumValues.forEach) {
155
+ if (!enumValues?.forEach) {
153
156
  return enumValueIndex;
154
157
  }
155
158
  enumValues.forEach((e: DTEnumValue) => {
@@ -163,11 +166,11 @@ export class UAMultiStateValueDiscreteImpl<T, DT extends DataType>
163
166
  *
164
167
  * @private
165
168
  */
166
- public _setValue(value: Int64, options?: ISetStateOptions): void {
169
+ public _setValue(value: Int64, _options?: ISetStateOptions): void {
167
170
  const int32Value = coerceInt64toInt32(value);
168
171
  // check that value is in bound
169
172
  if (!this._isValueInRange(int32Value)) {
170
- throw new Error("UAMultiStateValueDiscrete#_setValue out of range " + value);
173
+ throw new Error(`UAMultiStateValueDiscrete#_setValue out of range ${value}`);
171
174
  }
172
175
 
173
176
  const dataType = this._getDataType();
@@ -205,7 +208,7 @@ export class UAMultiStateValueDiscreteImpl<T, DT extends DataType>
205
208
  return DataType.UInt32;
206
209
  }
207
210
  const dataTypeStr = DataType[this.dataType.value as number] as string;
208
- return (DataType as any)[dataTypeStr] as DataType;
211
+ return DataType[dataTypeStr as keyof typeof DataType];
209
212
  }
210
213
 
211
214
  /**
@@ -220,11 +223,19 @@ export class UAMultiStateValueDiscreteImpl<T, DT extends DataType>
220
223
  validateIsNumericDataType(this.dataType.value);
221
224
 
222
225
  // find the enum value type
223
- install_synchronization(this);
226
+ install_synchronization(this as unknown as UAVariableImpl & UAMultiStateValueDiscreteEx<T, DT>);
224
227
  }
225
228
  }
226
-
227
- export function promoteToMultiStateValueDiscrete<T, DT extends DataType>(node: UAVariable): UAMultiStateValueDiscreteImpl<T, DT> {
229
+ export type UAMultiStateValueDiscreteImpl<T extends Number, DT extends DataType> = UAMultiStateValueDiscreteImplBase<T, DT> &
230
+ UAMultiStateValueDiscreteEx<T, DT>;
231
+ export const UAMultiStateValueDiscreteImpl = UAMultiStateValueDiscreteImplBase as unknown as new <
232
+ T extends Number,
233
+ DT extends DataType
234
+ >() => UAMultiStateValueDiscreteImpl<T, DT>;
235
+
236
+ export function promoteToMultiStateValueDiscrete<T extends Number, DT extends DataType>(
237
+ node: UAVariable
238
+ ): UAMultiStateValueDiscreteImpl<T, DT> {
228
239
  if (node instanceof UAMultiStateValueDiscreteImpl) {
229
240
  return node; // already promoted
230
241
  }
@@ -240,8 +251,8 @@ export function _addMultiStateValueDiscrete<T, DT extends DataType>(
240
251
  namespace: INamespace,
241
252
  options: AddMultiStateValueDiscreteOptions
242
253
  ): UAMultiStateValueDiscreteEx<T, DT> {
243
- assert(Object.prototype.hasOwnProperty.call(options, "enumValues"));
244
- assert(!Object.prototype.hasOwnProperty.call(options, "ValuePrecision"));
254
+ assert(Object.hasOwn(options, "enumValues"));
255
+ assert(!Object.hasOwn(options, "ValuePrecision"));
245
256
 
246
257
  const addressSpace = namespace.addressSpace;
247
258
 
@@ -275,7 +286,7 @@ export function _addMultiStateValueDiscrete<T, DT extends DataType>(
275
286
  value: options.value
276
287
  });
277
288
  } else {
278
- value = options.value as any;
289
+ value = options.value as BindVariableOptions;
279
290
  }
280
291
 
281
292
  const cloned_options = {
@@ -344,13 +355,13 @@ const validBasicNumericDataTypes = [
344
355
  DataType.Byte,
345
356
  DataType.Byte,
346
357
  DataType.SByte,
347
- 26, /* Number (abstract)*/
348
- 27, /* Integer (abstract)*/
349
- 28 /* UInteger (abstract)*/
358
+ 26 /* Number (abstract)*/,
359
+ 27 /* Integer (abstract)*/,
360
+ 28 /* UInteger (abstract)*/
350
361
  ];
351
- export function validateIsNumericDataType(dataTypeValue: any): void {
362
+ export function validateIsNumericDataType(dataTypeValue: unknown): void {
352
363
  if (typeof dataTypeValue !== "number" || validBasicNumericDataTypes.indexOf(dataTypeValue) < 0) {
353
- throw new Error(`Invalid DataType in UAMultiStateValueDiscrete => ${dataTypeValue.toString()}`);
364
+ throw new Error(`Invalid DataType in UAMultiStateValueDiscrete => ${dataTypeValue}`);
354
365
  }
355
366
  }
356
367
 
@@ -1,33 +1,26 @@
1
+ import type {
2
+ BindVariableOptions,
3
+ CloneExtraInfo,
4
+ CloneFilter,
5
+ CloneOptions,
6
+ INamespace,
7
+ UAVariable
8
+ } from "node-opcua-address-space-base";
1
9
  import assert from "node-opcua-assert";
2
- import { coerceLocalizedText, LocalizedText, LocalizedTextLike, QualifiedNameLike } from "node-opcua-data-model";
3
- import { DataType, Variant, VariantLike } from "node-opcua-variant";
4
10
  import { VariableTypeIds } from "node-opcua-constants";
5
- import { INamespace, UAVariable, BindVariableOptions, UAProperty, ISessionContext } from "node-opcua-address-space-base";
6
- import { DataValueT } from "node-opcua-data-value";
7
- import { NumericRange } from "node-opcua-numeric-range";
8
-
9
- import { UAVariableImpl } from "../ua_variable_impl";
11
+ import { coerceLocalizedText, type LocalizedText, type LocalizedTextLike } from "node-opcua-data-model";
12
+ import { DataType, Variant } from "node-opcua-variant";
13
+ import type { AddTwoStateDiscreteOptions } from "../../source/address_space_ts";
14
+ import type { UATwoStateDiscreteEx } from "../../source/interfaces/data_access/ua_two_state_discrete_ex";
15
+ import type { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
10
16
  import { registerNodePromoter } from "../../source/loader/register_node_promoter";
11
- import { AddTwoStateDiscreteOptions } from "../../source/address_space_ts";
12
- import { UATwoStateDiscreteEx } from "../../source/interfaces/data_access/ua_two_state_discrete_ex";
13
- import { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
14
-
17
+ import { UAVariableImpl } from "../ua_variable_impl";
15
18
  import { add_dataItem_stuff } from "./add_dataItem_stuff";
16
19
 
17
-
18
- export interface UATwoStateDiscreteImpl {
19
- falseState: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
20
- trueState: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
21
-
22
- readValue(
23
- context?: ISessionContext | null,
24
- indexRange?: NumericRange,
25
- dataEncoding?: QualifiedNameLike | null
26
- ): DataValueT<boolean, DataType.Boolean>;
27
-
28
- readValueAsync(context: ISessionContext | null, callback?: any): any;
29
- }
30
- export class UATwoStateDiscreteImpl extends UAVariableImpl implements UATwoStateDiscreteEx {
20
+ export class UATwoStateDiscreteImplBase extends UAVariableImpl {
21
+ private get $5(): UATwoStateDiscreteEx {
22
+ return this as unknown as UATwoStateDiscreteEx;
23
+ }
31
24
  /*
32
25
  * @private
33
26
  */
@@ -40,9 +33,8 @@ export class UATwoStateDiscreteImpl extends UAVariableImpl implements UATwoState
40
33
  const falseState = this.getPropertyByName("FalseState");
41
34
  if (falseState) {
42
35
  falseState.on("value_changed", handler);
43
- }
44
- /* c8 ignore next */
45
- else {
36
+ } else {
37
+ /* c8 ignore next */
46
38
  console.warn(
47
39
  "warning: UATwoStateDiscrete -> a FalseState property is mandatory ",
48
40
  this.browseName.toString(),
@@ -52,9 +44,8 @@ export class UATwoStateDiscreteImpl extends UAVariableImpl implements UATwoState
52
44
  const trueState = this.getPropertyByName("TrueState");
53
45
  if (trueState) {
54
46
  trueState.on("value_changed", handler);
55
- }
56
- /* c8 ignore next */
57
- else {
47
+ } else {
48
+ /* c8 ignore next */
58
49
  console.warn(
59
50
  "waring: UATwoStateDiscrete -> a TrueState property is mandatory",
60
51
  this.browseName.toString(),
@@ -72,7 +63,7 @@ export class UATwoStateDiscreteImpl extends UAVariableImpl implements UATwoState
72
63
  } else if (text === this.getFalseStateAsString()) {
73
64
  this.setValue(false, options);
74
65
  } else {
75
- throw new Error("setValue invalid value " + value);
66
+ throw new Error(`setValue invalid value ${value}`);
76
67
  }
77
68
  }
78
69
  }
@@ -87,18 +78,20 @@ export class UATwoStateDiscreteImpl extends UAVariableImpl implements UATwoState
87
78
  }
88
79
  }
89
80
  getTrueStateAsString(): string {
90
- return (this.trueState.readValue().value.value as LocalizedText).text || "";
81
+ return (this.$5.trueState.readValue().value.value as LocalizedText).text || "";
91
82
  }
92
83
  getFalseStateAsString(): string {
93
- return (this.falseState.readValue().value.value as LocalizedText).text || "";
84
+ return (this.$5.falseState.readValue().value.value as LocalizedText).text || "";
94
85
  }
95
86
 
96
- public clone(options1: any, optionalFilter: any, extraInfo: any): UAVariable {
87
+ public clone(options1: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAVariable {
97
88
  const variable1 = UAVariableImpl.prototype.clone.call(this, options1, optionalFilter, extraInfo);
98
89
  promoteToTwoStateDiscrete(variable1);
99
90
  return variable1;
100
91
  }
101
92
  }
93
+ export type UATwoStateDiscreteImpl = UATwoStateDiscreteImplBase & UATwoStateDiscreteEx;
94
+ export const UATwoStateDiscreteImpl = UATwoStateDiscreteImplBase as unknown as new () => UATwoStateDiscreteImpl;
102
95
 
103
96
  export function promoteToTwoStateDiscrete(node: UAVariable): UATwoStateDiscreteEx {
104
97
  if (node instanceof UATwoStateDiscreteImpl) {
@@ -115,7 +108,7 @@ registerNodePromoter(VariableTypeIds.TwoStateDiscreteType, promoteToTwoStateDisc
115
108
  export function _addTwoStateDiscrete(namespace: INamespace, options: AddTwoStateDiscreteOptions): UATwoStateDiscreteEx {
116
109
  const addressSpace = namespace.addressSpace;
117
110
 
118
- assert(!Object.prototype.hasOwnProperty.call(options, "ValuePrecision"));
111
+ assert(!Object.hasOwn(options, "ValuePrecision"));
119
112
 
120
113
  const twoStateDiscreteType = addressSpace.findVariableType("TwoStateDiscreteType");
121
114
  if (!twoStateDiscreteType) {
package/src/event_data.ts CHANGED
@@ -16,68 +16,68 @@ type FullBrowsePath = string;
16
16
  /**
17
17
  */
18
18
  export class EventData implements IEventData {
19
- public eventId: NodeId;
20
- #eventDataSource: BaseNode;
21
- #cache: {
22
- __values: { [key: NodeIdString]: Variant };
23
- __nodeIdToNode: { [key: NodeIdString]: BaseNode };
24
- __pathToNodeId: { [key: FullBrowsePath]: NodeId };
25
- __nodeIdToFullPath: { [key: NodeIdString]: FullBrowsePath };
26
- };
27
-
28
- constructor(eventTypeNode: BaseNode) {
29
- this.#cache = {
30
- __values: {},
31
- __nodeIdToNode: {},
32
- __pathToNodeId: {},
33
- __nodeIdToFullPath: {}
19
+ public eventId: NodeId;
20
+ #eventDataSource: BaseNode;
21
+ #cache: {
22
+ __values: { [key: NodeIdString]: Variant };
23
+ __nodeIdToNode: { [key: NodeIdString]: BaseNode };
24
+ __pathToNodeId: { [key: FullBrowsePath]: NodeId };
25
+ __nodeIdToFullPath: { [key: NodeIdString]: FullBrowsePath };
34
26
  };
35
27
 
36
- this.eventId = new NodeId();
37
- this.#eventDataSource = eventTypeNode;
38
- }
28
+ constructor(eventTypeNode: BaseNode) {
29
+ this.#cache = {
30
+ __values: {},
31
+ __nodeIdToNode: {},
32
+ __pathToNodeId: {},
33
+ __nodeIdToFullPath: {}
34
+ };
39
35
 
40
- public getEventDataSource(): BaseNode {
41
- return this.#eventDataSource;
42
- }
43
- public _createValue(fullBrowsePath: string, node: BaseNode, variant: VariantLike): void {
44
- const eventData = this as Record<string, unknown>;
45
- assert(!eventData[fullBrowsePath], `already exists ${fullBrowsePath}`);
36
+ this.eventId = new NodeId();
37
+ this.#eventDataSource = eventTypeNode;
38
+ }
46
39
 
47
- const lowerName = fullBrowsePath.split(".").map(lowerFirstLetter).join(".");
40
+ public getEventDataSource(): BaseNode {
41
+ return this.#eventDataSource;
42
+ }
43
+ public _createValue(fullBrowsePath: string, node: BaseNode, variant: VariantLike): void {
44
+ const eventData = this as Record<string, unknown>;
45
+ assert(!eventData[fullBrowsePath], `already exists ${fullBrowsePath}`);
48
46
 
49
- eventData[lowerName] = Variant.coerce(variant);
47
+ const lowerName = fullBrowsePath.split(".").map(lowerFirstLetter).join(".");
50
48
 
51
- this.#cache.__pathToNodeId[fullBrowsePath] = node.nodeId;
52
- this.#cache.__nodeIdToNode[node.nodeId.toString()] = node;
53
- this.#cache.__nodeIdToFullPath[node.nodeId.toString()] = fullBrowsePath;
54
- this.#cache.__values[node.nodeId.toString()] = eventData[lowerName] as Variant;
55
- }
49
+ eventData[lowerName] = Variant.coerce(variant);
56
50
 
57
- public _browse(browsePath: BrowsePath): BrowsePathResult | null {
58
- if (!sameNodeId(browsePath.startingNode, this.#eventDataSource.nodeId)) {
59
- return null;
51
+ this.#cache.__pathToNodeId[fullBrowsePath] = node.nodeId;
52
+ this.#cache.__nodeIdToNode[node.nodeId.toString()] = node;
53
+ this.#cache.__nodeIdToFullPath[node.nodeId.toString()] = fullBrowsePath;
54
+ this.#cache.__values[node.nodeId.toString()] = eventData[lowerName] as Variant;
60
55
  }
61
- const fullBrowsePath = (browsePath.relativePath.elements || []).map((b) => b.targetName.toString()).join(".");
62
- const nodeId = this.#cache.__pathToNodeId[fullBrowsePath];
63
- if (!nodeId) return null;
64
- return new BrowsePathResult({
65
- statusCode: StatusCodes.Good,
66
- targets: [
67
- {
68
- remainingPathIndex: 0,
69
- targetId: coerceExpandedNodeId(nodeId)
56
+
57
+ public _browse(browsePath: BrowsePath): BrowsePathResult | null {
58
+ if (!sameNodeId(browsePath.startingNode, this.#eventDataSource.nodeId)) {
59
+ return null;
70
60
  }
71
- ]
72
- });
73
- }
61
+ const fullBrowsePath = (browsePath.relativePath.elements || []).map((b) => b.targetName.toString()).join(".");
62
+ const nodeId = this.#cache.__pathToNodeId[fullBrowsePath];
63
+ if (!nodeId) return null;
64
+ return new BrowsePathResult({
65
+ statusCode: StatusCodes.Good,
66
+ targets: [
67
+ {
68
+ remainingPathIndex: 0,
69
+ targetId: coerceExpandedNodeId(nodeId)
70
+ }
71
+ ]
72
+ });
73
+ }
74
74
 
75
- public _readValue(nodeId: NodeId): Variant | null {
76
- const key = nodeId.toString();
77
- const cached_value = this.#cache.__values[key];
78
- if (cached_value) {
79
- return cached_value;
75
+ public _readValue(nodeId: NodeId): Variant | null {
76
+ const key = nodeId.toString();
77
+ const cached_value = this.#cache.__values[key];
78
+ if (cached_value) {
79
+ return cached_value;
80
+ }
81
+ return null;
80
82
  }
81
- return null;
82
- }
83
83
  }
@@ -1,23 +1,20 @@
1
1
  /**
2
2
  * @module node-opcua-address-space.Private
3
3
  */
4
- import { assert } from "node-opcua-assert";
5
4
 
5
+ import type { UADataType, UADynamicVariableArray, UAObject, UAReferenceType, UAVariable } from "node-opcua-address-space-base";
6
+ import { assert } from "node-opcua-assert";
6
7
  import { BrowseDirection, NodeClass } from "node-opcua-data-model";
7
8
  import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
8
- import { NodeId } from "node-opcua-nodeid";
9
- import { Variant } from "node-opcua-variant";
10
- import { DataType } from "node-opcua-variant";
11
- import { VariantArrayType } from "node-opcua-variant";
12
-
13
9
  import { ExtensionObject } from "node-opcua-extension-object";
14
- import { UADataType, UADynamicVariableArray, UAObject, UAReferenceType, UAVariable } from "node-opcua-address-space-base";
10
+ import type { NodeId } from "node-opcua-nodeid";
11
+ import { DataType, Variant, VariantArrayType } from "node-opcua-variant";
15
12
  import { UAVariableImpl } from "./ua_variable_impl";
16
13
 
17
- const doDebug = checkDebugFlag(__filename);
18
- const debugLog = make_debugLog(__filename);
14
+ const _doDebug = checkDebugFlag(__filename);
15
+ const _debugLog = make_debugLog(__filename);
19
16
  const errorLog = make_errorLog(__filename);
20
- const warningLog= make_warningLog(__filename);
17
+ const warningLog = make_warningLog(__filename);
21
18
 
22
19
  /*
23
20
  * define a complex Variable containing a array of extension objects
@@ -44,8 +41,8 @@ function removeElementByIndex<T extends ExtensionObject>(uaArrayVariableNode: UA
44
41
 
45
42
  // remove element from global array (inefficient)
46
43
  uaArrayVariableNode.$$extensionObjectArray.splice(elementIndex, 1);
47
- if(uaArrayVariableNode.$$extensionObjectArray !== uaArrayVariableNode.$dataValue.value.value) {
48
- // throw new Error("internal error");
44
+ if (uaArrayVariableNode.$$extensionObjectArray !== uaArrayVariableNode.$dataValue.value.value) {
45
+ // throw new Error("internal error");
49
46
  }
50
47
  uaArrayVariableNode.touchValue();
51
48
 
@@ -125,25 +122,27 @@ export function createExtObjArrayNode<T extends ExtensionObject>(parentFolder: U
125
122
  return uaArrayVariableNode;
126
123
  }
127
124
 
128
- function _getElementBrowseName<T extends ExtensionObject>
129
- (this: UADynamicVariableArray<T>, extObj: ExtensionObject, index: number | number[]) {
125
+ function _getElementBrowseName<T extends ExtensionObject>(
126
+ this: UADynamicVariableArray<T>,
127
+ extObj: ExtensionObject,
128
+ _index: number | number[]
129
+ ) {
130
130
  const indexPropertyName1 = this.$$indexPropertyName;
131
131
 
132
- if (!Object.prototype.hasOwnProperty.call(extObj, indexPropertyName1)) {
132
+ if (!Object.hasOwn(extObj, indexPropertyName1)) {
133
133
  warningLog(" extension object does not have ", indexPropertyName1, extObj);
134
134
  }
135
135
  // assert(extObj.constructor === addressSpace.constructExtensionObject(dataType));
136
- assert(Object.prototype.hasOwnProperty.call(extObj, indexPropertyName1));
136
+ assert(Object.hasOwn(extObj, indexPropertyName1));
137
137
  const browseName = (extObj as any)[indexPropertyName1].toString();
138
138
  return browseName;
139
- };
139
+ }
140
140
 
141
141
  export function bindExtObjArrayNode<T extends ExtensionObject>(
142
142
  uaArrayVariableNode: UADynamicVariableArray<T>,
143
143
  variableTypeNodeId: string | NodeId,
144
144
  indexPropertyName: string
145
145
  ): UAVariable {
146
-
147
146
  assert(uaArrayVariableNode.valueRank === 1, "expecting a one dimension array");
148
147
 
149
148
  const addressSpace = uaArrayVariableNode.addressSpace;
@@ -151,7 +150,7 @@ export function bindExtObjArrayNode<T extends ExtensionObject>(
151
150
  const variableType = addressSpace.findVariableType(variableTypeNodeId);
152
151
  // c8 ignore next
153
152
  if (!variableType || variableType.nodeId.isEmpty()) {
154
- throw new Error("Cannot find VariableType " + variableTypeNodeId.toString());
153
+ throw new Error(`Cannot find VariableType ${variableTypeNodeId.toString()}`);
155
154
  }
156
155
 
157
156
  const structure = addressSpace.findDataType("Structure");
@@ -163,7 +162,7 @@ export function bindExtObjArrayNode<T extends ExtensionObject>(
163
162
  let dataType = addressSpace.findDataType(variableType.dataType);
164
163
  // c8 ignore next
165
164
  if (!dataType) {
166
- throw new Error("Cannot find DataType " + variableType.dataType.toString());
165
+ throw new Error(`Cannot find DataType ${variableType.dataType.toString()}`);
167
166
  }
168
167
 
169
168
  assert(dataType.isSubtypeOf(structure), "expecting a structure (= ExtensionObject) here ");
@@ -174,13 +173,13 @@ export function bindExtObjArrayNode<T extends ExtensionObject>(
174
173
 
175
174
  // verify that an object with same doesn't already exist
176
175
  dataType = addressSpace.findDataType(variableType.dataType)! as UADataType;
177
- assert(dataType!.isSubtypeOf(structure), "expecting a structure (= ExtensionObject) here ");
176
+ assert(dataType?.isSubtypeOf(structure), "expecting a structure (= ExtensionObject) here ");
178
177
  assert(!uaArrayVariableNode.$$extensionObjectArray, "UAVariable ExtensionObject array already bounded");
179
178
  uaArrayVariableNode.$$dataType = dataType;
180
179
  uaArrayVariableNode.$$extensionObjectArray = [];
181
180
  uaArrayVariableNode.$$indexPropertyName = indexPropertyName;
182
181
  uaArrayVariableNode.$$getElementBrowseName = _getElementBrowseName;
183
- uaArrayVariableNode.$dataValue.value.value = uaArrayVariableNode.$$extensionObjectArray;
182
+ uaArrayVariableNode.$dataValue.value.value = uaArrayVariableNode.$$extensionObjectArray;
184
183
  uaArrayVariableNode.$dataValue.value.arrayType = VariantArrayType.Array;
185
184
 
186
185
  const bindOptions: any = {
@@ -252,8 +251,8 @@ export function addElement<T extends ExtensionObject>(
252
251
  elVar.bindExtensionObject(extensionObject, { force: true });
253
252
  }
254
253
 
255
- if(uaArrayVariableNode.$$extensionObjectArray !== uaArrayVariableNode.$dataValue.value.value) {
256
- // throw new Error("internal error");
254
+ if (uaArrayVariableNode.$$extensionObjectArray !== uaArrayVariableNode.$dataValue.value.value) {
255
+ // throw new Error("internal error");
257
256
  }
258
257
  // also add the value inside
259
258
  uaArrayVariableNode.$$extensionObjectArray.push(elVar.$extensionObject);
@@ -284,10 +283,10 @@ export function removeElement<T extends ExtensionObject>(
284
283
  } else if (typeof element === "function") {
285
284
  // find element by functor
286
285
  elementIndex = _array.findIndex(element);
287
- } else if (element && element.nodeClass) {
286
+ } else if (element?.nodeClass) {
288
287
  // find element by name
289
- const browseNameToFind = element.browseName.name!.toString();
290
- elementIndex = _array.findIndex((obj: any, i: number) => {
288
+ const browseNameToFind = element.browseName.name?.toString();
289
+ elementIndex = _array.findIndex((obj: any, _i: number) => {
291
290
  const browseName = uaArrayVariableNode.$$getElementBrowseName(obj, elementIndex).toString();
292
291
  return browseName === browseNameToFind;
293
292
  });
@@ -297,7 +296,7 @@ export function removeElement<T extends ExtensionObject>(
297
296
 
298
297
  // c8 ignore next
299
298
  if (elementIndex < 0) {
300
- throw new Error("removeElement: cannot find element matching " + element.toString());
299
+ throw new Error(`removeElement: cannot find element matching ${element.toString()}`);
301
300
  }
302
301
  return removeElementByIndex(uaArrayVariableNode, elementIndex);
303
302
  }