node-opcua-address-space 2.169.0 → 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 (467) 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.d.ts +2 -3
  120. package/dist/source/ua_interface.js +13 -33
  121. package/dist/source/ua_interface.js.map +1 -1
  122. package/dist/source/ua_root_folder.d.ts +1 -1
  123. package/dist/source/ua_two_state_variable_ex.d.ts +5 -5
  124. package/dist/src/_instantiate_helpers.d.ts +1 -1
  125. package/dist/src/_instantiate_helpers.js +32 -9
  126. package/dist/src/_instantiate_helpers.js.map +1 -1
  127. package/dist/src/_mandatory_child_or_requested_optional_filter.d.ts +2 -2
  128. package/dist/src/_mandatory_child_or_requested_optional_filter.js +9 -10
  129. package/dist/src/_mandatory_child_or_requested_optional_filter.js.map +1 -1
  130. package/dist/src/address_space.d.ts +2 -2
  131. package/dist/src/address_space.js +13 -15
  132. package/dist/src/address_space.js.map +1 -1
  133. package/dist/src/address_space_change_event_tools.d.ts +3 -3
  134. package/dist/src/address_space_change_event_tools.js +8 -10
  135. package/dist/src/address_space_change_event_tools.js.map +1 -1
  136. package/dist/src/address_space_private.d.ts +11 -11
  137. package/dist/src/address_space_private.js +3 -0
  138. package/dist/src/address_space_private.js.map +1 -1
  139. package/dist/src/alarms_and_conditions/condition.js.map +1 -1
  140. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +6 -6
  141. package/dist/src/alarms_and_conditions/condition_info_impl.js +6 -15
  142. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +1 -1
  143. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +10 -10
  144. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +77 -48
  145. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -1
  146. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +8 -5
  147. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +15 -9
  148. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -1
  149. package/dist/src/alarms_and_conditions/index.d.ts +3 -3
  150. package/dist/src/alarms_and_conditions/index.js +3 -3
  151. package/dist/src/alarms_and_conditions/index.js.map +1 -1
  152. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +21 -14
  153. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +26 -21
  154. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  155. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +6 -7
  156. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +30 -28
  157. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  158. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +9 -11
  159. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +10 -10
  160. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -1
  161. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +3 -1
  162. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +6 -5
  163. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  164. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +16 -42
  165. package/dist/src/alarms_and_conditions/ua_condition_impl.js +100 -82
  166. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  167. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +12 -7
  168. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +9 -8
  169. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  170. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +18 -18
  171. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +16 -18
  172. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  173. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +4 -4
  174. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +2 -2
  175. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  176. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +10 -9
  177. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +20 -19
  178. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  179. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +2 -4
  180. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -1
  181. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +12 -38
  182. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +50 -65
  183. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  184. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +15 -17
  185. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +15 -11
  186. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  187. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +22 -15
  188. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +35 -24
  189. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  190. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +15 -16
  191. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +19 -14
  192. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  193. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +4 -4
  194. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +1 -1
  195. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  196. package/dist/src/apply_condition_refresh.d.ts +4 -4
  197. package/dist/src/apply_condition_refresh.js +1 -1
  198. package/dist/src/apply_condition_refresh.js.map +1 -1
  199. package/dist/src/base_node_impl.d.ts +5 -7
  200. package/dist/src/base_node_impl.js +3 -3
  201. package/dist/src/base_node_impl.js.map +1 -1
  202. package/dist/src/base_node_private.d.ts +10 -7
  203. package/dist/src/base_node_private.js +73 -50
  204. package/dist/src/base_node_private.js.map +1 -1
  205. package/dist/src/check_value_rank_compatibility.js +11 -7
  206. package/dist/src/check_value_rank_compatibility.js.map +1 -1
  207. package/dist/src/data_access/add_dataItem_stuff.d.ts +1 -1
  208. package/dist/src/data_access/add_dataItem_stuff.js +2 -22
  209. package/dist/src/data_access/add_dataItem_stuff.js.map +1 -1
  210. package/dist/src/data_access/adjust_datavalue_status_code.d.ts +6 -3
  211. package/dist/src/data_access/adjust_datavalue_status_code.js +3 -3
  212. package/dist/src/data_access/adjust_datavalue_status_code.js.map +1 -1
  213. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +13 -11
  214. package/dist/src/data_access/ua_multistate_discrete_impl.js +28 -23
  215. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -1
  216. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +19 -23
  217. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +31 -31
  218. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +1 -1
  219. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +10 -16
  220. package/dist/src/data_access/ua_two_state_discrete_impl.js +18 -14
  221. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +1 -1
  222. package/dist/src/event_data.d.ts +8 -21
  223. package/dist/src/event_data.js +24 -19
  224. package/dist/src/event_data.js.map +1 -1
  225. package/dist/src/extension_object_array_node.d.ts +5 -2
  226. package/dist/src/extension_object_array_node.js +21 -24
  227. package/dist/src/extension_object_array_node.js.map +1 -1
  228. package/dist/src/get_basic_datatype.d.ts +2 -2
  229. package/dist/src/get_basic_datatype.js.map +1 -1
  230. package/dist/src/historical_access/address_space_historical_data_node.d.ts +3 -3
  231. package/dist/src/historical_access/address_space_historical_data_node.js +24 -17
  232. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -1
  233. package/dist/src/idx_iterator.js +1 -1
  234. package/dist/src/idx_iterator.js.map +1 -1
  235. package/dist/src/index_current.d.ts +31 -31
  236. package/dist/src/index_current.js +45 -45
  237. package/dist/src/index_current.js.map +1 -1
  238. package/dist/src/namespace_impl.d.ts +4 -3
  239. package/dist/src/namespace_impl.js +17 -14
  240. package/dist/src/namespace_impl.js.map +1 -1
  241. package/dist/src/namespace_private.js.map +1 -1
  242. package/dist/src/nodeid_manager.d.ts +3 -3
  243. package/dist/src/nodeid_manager.js +19 -16
  244. package/dist/src/nodeid_manager.js.map +1 -1
  245. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +1 -1
  246. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  247. package/dist/src/nodeset_tools/construct_namespace_dependency.js +7 -7
  248. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +1 -1
  249. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +1 -1
  250. package/dist/src/nodeset_tools/dump_to_bsd.js +15 -11
  251. package/dist/src/nodeset_tools/dump_to_bsd.js.map +1 -1
  252. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +5 -3
  253. package/dist/src/nodeset_tools/nodeset_to_xml.js +64 -67
  254. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -1
  255. package/dist/src/private_namespace.d.ts +2 -2
  256. package/dist/src/private_namespace.js.map +1 -1
  257. package/dist/src/reference_impl.d.ts +2 -2
  258. package/dist/src/reference_impl.js +9 -11
  259. package/dist/src/reference_impl.js.map +1 -1
  260. package/dist/src/role_permissions.d.ts +1 -1
  261. package/dist/src/role_permissions.js.map +1 -1
  262. package/dist/src/state_machine/finite_state_machine.d.ts +11 -14
  263. package/dist/src/state_machine/finite_state_machine.js +36 -30
  264. package/dist/src/state_machine/finite_state_machine.js.map +1 -1
  265. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +8 -6
  266. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +16 -18
  267. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -1
  268. package/dist/src/state_machine/ua_two_state_variable.d.ts +12 -11
  269. package/dist/src/state_machine/ua_two_state_variable.js +24 -29
  270. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -1
  271. package/dist/src/tool_isSubtypeOf.d.ts +5 -5
  272. package/dist/src/tool_isSubtypeOf.js +21 -18
  273. package/dist/src/tool_isSubtypeOf.js.map +1 -1
  274. package/dist/src/ua_condition_type.d.ts +1 -1
  275. package/dist/src/ua_data_type_impl.js.map +1 -1
  276. package/dist/src/ua_method_impl.d.ts +9 -5
  277. package/dist/src/ua_method_impl.js +1 -1
  278. package/dist/src/ua_method_impl.js.map +1 -1
  279. package/dist/src/ua_object_impl.d.ts +10 -7
  280. package/dist/src/ua_object_impl.js +43 -15
  281. package/dist/src/ua_object_impl.js.map +1 -1
  282. package/dist/src/ua_object_type_impl.d.ts +7 -5
  283. package/dist/src/ua_object_type_impl.js +6 -7
  284. package/dist/src/ua_object_type_impl.js.map +1 -1
  285. package/dist/src/ua_reference_type_impl.d.ts +6 -8
  286. package/dist/src/ua_reference_type_impl.js +16 -14
  287. package/dist/src/ua_reference_type_impl.js.map +1 -1
  288. package/dist/src/ua_variable_impl.d.ts +44 -45
  289. package/dist/src/ua_variable_impl.js +177 -83
  290. package/dist/src/ua_variable_impl.js.map +1 -1
  291. package/dist/src/ua_variable_impl_ext_obj.d.ts +3 -3
  292. package/dist/src/ua_variable_impl_ext_obj.js +37 -29
  293. package/dist/src/ua_variable_impl_ext_obj.js.map +1 -1
  294. package/dist/src/ua_variable_type_impl.d.ts +11 -11
  295. package/dist/src/ua_variable_type_impl.js +13 -21
  296. package/dist/src/ua_variable_type_impl.js.map +1 -1
  297. package/dist/src/ua_view_impl.d.ts +3 -4
  298. package/dist/src/ua_view_impl.js +5 -6
  299. package/dist/src/ua_view_impl.js.map +1 -1
  300. package/dist/src/validate_data_type_correctness.d.ts +2 -2
  301. package/dist/src/validate_data_type_correctness.js +12 -3
  302. package/dist/src/validate_data_type_correctness.js.map +1 -1
  303. package/dist/tsconfig_base.tsbuildinfo +1 -1
  304. package/distHelpers/add_event_generator_object.d.ts +5 -2
  305. package/distHelpers/add_event_generator_object.js +2 -2
  306. package/distHelpers/add_event_generator_object.js.map +1 -1
  307. package/distHelpers/alarms_and_conditions_demo.d.ts +1 -1
  308. package/distHelpers/alarms_and_conditions_demo.js +4 -6
  309. package/distHelpers/alarms_and_conditions_demo.js.map +1 -1
  310. package/distHelpers/assertHasMatchingReference.d.ts +1 -1
  311. package/distHelpers/assertHasMatchingReference.js +2 -2
  312. package/distHelpers/assertHasMatchingReference.js.map +1 -1
  313. package/distHelpers/boiler_system.d.ts +6 -3
  314. package/distHelpers/boiler_system.js +44 -42
  315. package/distHelpers/boiler_system.js.map +1 -1
  316. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +1 -1
  317. package/distHelpers/create_minimalist_address_space_nodeset.js +25 -27
  318. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -1
  319. package/distHelpers/get_address_space_fixture.js +15 -15
  320. package/distHelpers/get_address_space_fixture.js.map +1 -1
  321. package/distHelpers/index.d.ts +2 -2
  322. package/distHelpers/index.js +2 -2
  323. package/distHelpers/index.js.map +1 -1
  324. package/distHelpers/mock_session.d.ts +7 -7
  325. package/distHelpers/mock_session.js +4 -4
  326. package/distHelpers/mock_session.js.map +1 -1
  327. package/distNodeJS/generate_address_space.d.ts +2 -2
  328. package/distNodeJS/generate_address_space.js +2 -2
  329. package/distNodeJS/generate_address_space.js.map +1 -1
  330. package/package.json +36 -36
  331. package/source/address_space_ts.ts +29 -30
  332. package/source/continuation_points/continuation_point_manager.ts +8 -7
  333. package/source/helpers/adjust_browse_direction.ts +1 -1
  334. package/source/helpers/argument_list.ts +37 -25
  335. package/source/helpers/call_helpers.ts +10 -15
  336. package/source/helpers/coerce_enum_value.ts +4 -4
  337. package/source/helpers/dump_tools.ts +6 -11
  338. package/source/helpers/ensure_secure_access.ts +2 -2
  339. package/source/helpers/make_optionals_map.ts +3 -10
  340. package/source/helpers/multiform_func.ts +1 -1
  341. package/source/helpers/resolve_opaque_on_address_space.ts +2 -2
  342. package/source/index.ts +44 -54
  343. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +3 -4
  344. package/source/interfaces/alarms_and_conditions/condition_snapshot.ts +13 -13
  345. package/source/interfaces/alarms_and_conditions/deviation_stuff.ts +8 -10
  346. package/source/interfaces/alarms_and_conditions/install_setpoint_options.ts +4 -5
  347. package/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +4 -6
  348. package/source/interfaces/alarms_and_conditions/instantiate_condition_options.ts +3 -3
  349. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.ts +2 -2
  350. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +2 -2
  351. package/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +6 -3
  352. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.ts +2 -2
  353. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.ts +2 -2
  354. package/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +11 -11
  355. package/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +11 -25
  356. package/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +16 -13
  357. package/source/interfaces/alarms_and_conditions/ua_base_event_ex.ts +12 -0
  358. package/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +5 -5
  359. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +30 -54
  360. package/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +3 -34
  361. package/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +18 -22
  362. package/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +8 -15
  363. package/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +4 -7
  364. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +5 -6
  365. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +3 -3
  366. package/source/interfaces/data_access/ua_multistate_discrete_ex.ts +9 -16
  367. package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +5 -8
  368. package/source/interfaces/data_access/ua_two_state_discrete_ex.ts +5 -5
  369. package/source/interfaces/data_access/ua_y_array_item_ex.ts +3 -3
  370. package/source/interfaces/extension_object_constructor.ts +3 -4
  371. package/source/interfaces/i_condition_variable_type_setter_options.ts +1 -3
  372. package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +3 -3
  373. package/source/interfaces/state_machine/ua_finite_state_machine_type.ts +2 -2
  374. package/source/interfaces/state_machine/ua_program_state_machine_type.ts +3 -3
  375. package/source/interfaces/state_machine/ua_shelved_state_machine_ex.ts +10 -7
  376. package/source/interfaces/state_machine/ua_state_machine_type.ts +11 -8
  377. package/source/interfaces/state_machine/ua_transition_ex.ts +2 -2
  378. package/source/interfaces/ua_subscription_diagnostics_variable_ex.ts +3 -2
  379. package/source/loader/decode_xml_extension_object.ts +7 -7
  380. package/source/loader/ensure_datatype_extracted.ts +14 -19
  381. package/source/loader/generateAddressSpaceRaw.ts +12 -13
  382. package/source/loader/load_nodeset2.ts +3 -3
  383. package/source/loader/make_xml_extension_object_parser.ts +55 -39
  384. package/source/loader/namespace_post_step.ts +3 -4
  385. package/source/loader/parsers/extension_object_parser.ts +63 -62
  386. package/source/loader/parsers/localized_text_parser.ts +3 -3
  387. package/source/loader/parsers/nodeid_parser.ts +2 -3
  388. package/source/loader/parsers/qualified_name_parser.ts +6 -7
  389. package/source/loader/parsers/variant_parser.ts +48 -55
  390. package/source/loader/register_node_promoter.ts +2 -2
  391. package/source/namespace.ts +4 -4
  392. package/source/namespace_alarm_and_condition.ts +22 -22
  393. package/source/namespace_data_access.ts +12 -13
  394. package/source/namespace_machine_state.ts +10 -5
  395. package/source/pseudo_session.ts +53 -50
  396. package/source/session_context.ts +1 -1
  397. package/source/set_namespace_meta_data.ts +3 -3
  398. package/source/ua_addin.ts +10 -11
  399. package/source/ua_interface.ts +27 -38
  400. package/source/ua_root_folder.ts +1 -1
  401. package/source/ua_two_state_variable_ex.ts +5 -5
  402. package/source_nodejs/generate_address_space.ts +5 -9
  403. package/src/_instantiate_helpers.ts +78 -25
  404. package/src/_mandatory_child_or_requested_optional_filter.ts +20 -19
  405. package/src/address_space.ts +36 -45
  406. package/src/address_space_change_event_tools.ts +25 -30
  407. package/src/address_space_private.ts +20 -21
  408. package/src/alarms_and_conditions/condition.ts +0 -2
  409. package/src/alarms_and_conditions/condition_info_impl.ts +11 -19
  410. package/src/alarms_and_conditions/condition_snapshot_impl.ts +109 -85
  411. package/src/alarms_and_conditions/deviation_alarm_helper.ts +20 -15
  412. package/src/alarms_and_conditions/index.ts +3 -3
  413. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +44 -32
  414. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +35 -34
  415. package/src/alarms_and_conditions/ua_base_event_impl.ts +15 -19
  416. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +6 -2
  417. package/src/alarms_and_conditions/ua_condition_impl.ts +140 -130
  418. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +20 -12
  419. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +40 -43
  420. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +7 -7
  421. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +28 -30
  422. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +3 -6
  423. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +59 -90
  424. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +31 -27
  425. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +57 -36
  426. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +31 -27
  427. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +6 -6
  428. package/src/apply_condition_refresh.ts +7 -8
  429. package/src/base_node_impl.ts +64 -45
  430. package/src/base_node_private.ts +171 -139
  431. package/src/check_value_rank_compatibility.ts +19 -15
  432. package/src/data_access/add_dataItem_stuff.ts +3 -4
  433. package/src/data_access/adjust_datavalue_status_code.ts +7 -7
  434. package/src/data_access/ua_multistate_discrete_impl.ts +44 -28
  435. package/src/data_access/ua_multistate_value_discrete_impl.ts +77 -66
  436. package/src/data_access/ua_two_state_discrete_impl.ts +29 -36
  437. package/src/event_data.ts +29 -26
  438. package/src/extension_object_array_node.ts +27 -28
  439. package/src/get_basic_datatype.ts +4 -5
  440. package/src/historical_access/address_space_historical_data_node.ts +65 -50
  441. package/src/idx_iterator.ts +4 -12
  442. package/src/index_current.ts +33 -45
  443. package/src/namespace_impl.ts +75 -62
  444. package/src/namespace_private.ts +2 -8
  445. package/src/nodeid_manager.ts +30 -27
  446. package/src/nodeset_tools/adjust_namespace_array.ts +1 -1
  447. package/src/nodeset_tools/construct_namespace_dependency.ts +15 -16
  448. package/src/nodeset_tools/dump_to_bsd.ts +27 -22
  449. package/src/nodeset_tools/nodeset_to_xml.ts +95 -114
  450. package/src/private_namespace.ts +3 -6
  451. package/src/reference_impl.ts +11 -14
  452. package/src/role_permissions.ts +1 -1
  453. package/src/state_machine/finite_state_machine.ts +60 -61
  454. package/src/state_machine/ua_shelving_state_machine_ex.ts +23 -23
  455. package/src/state_machine/ua_two_state_variable.ts +34 -31
  456. package/src/tool_isSubtypeOf.ts +48 -33
  457. package/src/ua_condition_type.ts +1 -1
  458. package/src/ua_data_type_impl.ts +12 -13
  459. package/src/ua_method_impl.ts +17 -12
  460. package/src/ua_object_impl.ts +73 -39
  461. package/src/ua_object_type_impl.ts +25 -25
  462. package/src/ua_reference_type_impl.ts +19 -19
  463. package/src/ua_variable_impl.ts +316 -219
  464. package/src/ua_variable_impl_ext_obj.ts +63 -50
  465. package/src/ua_variable_type_impl.ts +43 -49
  466. package/src/ua_view_impl.ts +5 -5
  467. package/src/validate_data_type_correctness.ts +17 -8
@@ -1,6 +1,3 @@
1
-
2
-
3
-
4
1
  /**
5
2
  * This valueRank indicates whether the Value attribute of the Variable is an array and how many dimensions the array has.
6
3
  * It may have the following values:
@@ -13,7 +10,10 @@
13
10
  * * All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.
14
11
  */
15
12
 
16
- export function checkValueRankCompatibility(actualValueRank: number, baseTypeValueRank: number): { result: boolean, errorMessage?: string } {
13
+ export function checkValueRankCompatibility(
14
+ actualValueRank: number,
15
+ baseTypeValueRank: number
16
+ ): { result: boolean; errorMessage?: string } {
17
17
  const ScalarOrOneDimension = -3;
18
18
  const OneOrMoreDimensions = 0;
19
19
  const AnyDimension = -2;
@@ -21,17 +21,22 @@ export function checkValueRankCompatibility(actualValueRank: number, baseTypeVal
21
21
  const Scalar = -1;
22
22
  const t = (valueRank: number): string => {
23
23
  switch (valueRank) {
24
- case ScalarOrOneDimension: return `ScalarOrOneDimension(${valueRank})`;
25
- case OneOrMoreDimensions: return `OneOrMoreDimensions(${valueRank})`;
26
- case AnyDimension: return `AnyDimension(${valueRank})`;
27
- case OneDimension: return `OneDimension(${valueRank})`;
28
- case Scalar: return `Scalar(${valueRank})`;
24
+ case ScalarOrOneDimension:
25
+ return `ScalarOrOneDimension(${valueRank})`;
26
+ case OneOrMoreDimensions:
27
+ return `OneOrMoreDimensions(${valueRank})`;
28
+ case AnyDimension:
29
+ return `AnyDimension(${valueRank})`;
30
+ case OneDimension:
31
+ return `OneDimension(${valueRank})`;
32
+ case Scalar:
33
+ return `Scalar(${valueRank})`;
29
34
  }
30
35
  if (valueRank < 0) {
31
36
  return `InvalidValueRank(${valueRank})`;
32
37
  }
33
- return "" + valueRank;
34
- }
38
+ return `${valueRank}`;
39
+ };
35
40
  if (actualValueRank < 0) {
36
41
  if (actualValueRank !== Scalar && actualValueRank !== AnyDimension && actualValueRank !== ScalarOrOneDimension) {
37
42
  return {
@@ -46,7 +51,7 @@ export function checkValueRankCompatibility(actualValueRank: number, baseTypeVal
46
51
  if (baseTypeValueRank === OneDimension || baseTypeValueRank > 1) {
47
52
  if (actualValueRank === baseTypeValueRank) {
48
53
  return { result: true };
49
- };
54
+ }
50
55
  return {
51
56
  result: false,
52
57
  errorMessage: `Invalid valueRank: ${t(actualValueRank)}: valueRank can only be identical to base type ${t(baseTypeValueRank)}`
@@ -67,7 +72,8 @@ export function checkValueRankCompatibility(actualValueRank: number, baseTypeVal
67
72
  };
68
73
  }
69
74
  if (baseTypeValueRank === ScalarOrOneDimension) {
70
- if (actualValueRank === OneDimension || actualValueRank === Scalar || actualValueRank === ScalarOrOneDimension) return { result: true };
75
+ if (actualValueRank === OneDimension || actualValueRank === Scalar || actualValueRank === ScalarOrOneDimension)
76
+ return { result: true };
71
77
  return {
72
78
  result: false,
73
79
  errorMessage: `Invalid valueRank: ${t(actualValueRank)}: valueRank can only be identical to base type ${t(ScalarOrOneDimension)} , ${t(Scalar)} or ${t(OneDimension)}.`
@@ -75,5 +81,3 @@ export function checkValueRankCompatibility(actualValueRank: number, baseTypeVal
75
81
  }
76
82
  return { result: false };
77
83
  }
78
-
79
-
@@ -27,11 +27,10 @@
27
27
  // a Client may encounter cases where the value read back from a Server differs from the value that it
28
28
  // wrote to the Server. This difference shall be no more than the difference suggested by this Property
29
29
 
30
+ import type { ModellingRuleType, UAVariable } from "node-opcua-address-space-base";
30
31
  import { assert } from "node-opcua-assert";
31
32
  import { DataType, Variant } from "node-opcua-variant";
32
33
 
33
- import { UAVariable, ModellingRuleType } from "node-opcua-address-space-base";
34
-
35
34
  const definition_Description =
36
35
  "Definition is a vendor - specific," + " human readable string that specifies how the value of this DataItem is calculated.";
37
36
  const valuePrecision_Description = "";
@@ -45,7 +44,7 @@ export function add_dataItem_stuff(variable: UAVariable, options: add_dataItem_s
45
44
  const addressSpace = variable.addressSpace;
46
45
  const namespace = addressSpace.getNamespace(variable.nodeId.namespace);
47
46
 
48
- if (Object.prototype.hasOwnProperty.call(options, "definition") && options.definition !== undefined) {
47
+ if (Object.hasOwn(options, "definition") && options.definition !== undefined) {
49
48
  namespace.addVariable({
50
49
  browseName: { name: "Definition", namespaceIndex: 0 },
51
50
  dataType: "String",
@@ -58,7 +57,7 @@ export function add_dataItem_stuff(variable: UAVariable, options: add_dataItem_s
58
57
  });
59
58
  }
60
59
 
61
- if (Object.prototype.hasOwnProperty.call(options, "valuePrecision") && options.valuePrecision !== undefined) {
60
+ if (Object.hasOwn(options, "valuePrecision") && options.valuePrecision !== undefined) {
62
61
  assert(typeof options.valuePrecision === "number");
63
62
 
64
63
  namespace.addVariable({
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * @module node-opcua-address-space.DataAccess
3
3
  */
4
- import { StatusCodes } from "node-opcua-status-code";
5
- import { StatusCode } from "node-opcua-status-code";
6
- import { Range } from "node-opcua-types";
7
- import { UAVariable } from "node-opcua-address-space-base";
4
+
5
+ import type { UAVariable } from "node-opcua-address-space-base";
8
6
  import { NodeClass } from "node-opcua-data-model";
9
- import { DataValue } from "node-opcua-data-value";
10
- import { Variant } from "node-opcua-variant";
11
- import { UAVariableImpl } from "../ua_variable_impl";
7
+ import type { DataValue } from "node-opcua-data-value";
8
+ import { type StatusCode, StatusCodes } from "node-opcua-status-code";
9
+ import type { Range } from "node-opcua-types";
10
+ import type { Variant } from "node-opcua-variant";
11
+ import type { UAVariableImpl } from "../ua_variable_impl";
12
12
 
13
13
  function validate_value_range(range: Range, variant: Variant) {
14
14
  if (variant.value < range.low || variant.value > range.high) {
@@ -1,19 +1,25 @@
1
1
  /**
2
2
  * @module node-opcua-address-space.DataAccess
3
3
  */
4
+
5
+ import type {
6
+ BindVariableOptions,
7
+ CloneExtraInfo,
8
+ CloneFilter,
9
+ CloneOptions,
10
+ INamespace,
11
+ UAVariable
12
+ } from "node-opcua-address-space-base";
4
13
  import { assert } from "node-opcua-assert";
5
14
  import { VariableTypeIds } from "node-opcua-constants";
6
- import { coerceLocalizedText, LocalizedText } from "node-opcua-data-model";
7
- import { StatusCode, StatusCodes } from "node-opcua-status-code";
8
- import { DataType, VariantArrayType, Variant } from "node-opcua-variant";
9
- import { BindVariableOptions, INamespace, UAVariable, UAProperty } from "node-opcua-address-space-base";
10
-
11
- import { UAMultiStateDiscrete, UAMultiStateDiscrete_Base } from "node-opcua-nodeset-ua";
15
+ import { coerceLocalizedText, type LocalizedText } from "node-opcua-data-model";
16
+ import type { UAMultiStateDiscrete_Base } from "node-opcua-nodeset-ua";
17
+ import { type StatusCode, StatusCodes } from "node-opcua-status-code";
18
+ import { DataType, Variant, VariantArrayType } from "node-opcua-variant";
19
+ import type { AddMultiStateDiscreteOptions } from "../../source/address_space_ts";
20
+ import type { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
12
21
  import { registerNodePromoter } from "../../source/loader/register_node_promoter";
13
22
  import { UAVariableImpl } from "../ua_variable_impl";
14
- import { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
15
-
16
- import { AddMultiStateDiscreteOptions } from "../../source/address_space_ts";
17
23
  import { add_dataItem_stuff } from "./add_dataItem_stuff";
18
24
 
19
25
  export { UAMultiStateDiscrete } from "node-opcua-nodeset-ua";
@@ -27,26 +33,26 @@ export interface UAMultiStateDiscreteEx<T, DT extends DataType> extends UAMultiS
27
33
  checkVariantCompatibility(value: Variant): StatusCode;
28
34
  }
29
35
 
30
- export interface UAMultiStateDiscreteImpl<T, DT extends DataType> {
31
- enumStrings: UAProperty<LocalizedText[], DataType.LocalizedText>;
32
- }
33
36
  /**
34
37
  * @class UAMultiStateDiscrete
35
38
  */
36
- export class UAMultiStateDiscreteImpl<T, DT extends DataType> extends UAVariableImpl implements UAMultiStateDiscreteEx<T, DT> {
39
+ export class UAMultiStateDiscreteImplBase<T, DT extends DataType> extends UAVariableImpl {
40
+ private get $7(): UAMultiStateDiscreteEx<T, DT> {
41
+ return this as unknown as UAMultiStateDiscreteEx<T, DT>;
42
+ }
37
43
  public getValue(): number {
38
44
  return this.readValue().value.value;
39
45
  }
40
46
 
41
47
  public getValueAsString(): string {
42
48
  const index = this.getValue();
43
- const arr = this.enumStrings.readValue().value.value;
49
+ const arr = this.$7.enumStrings.readValue().value.value;
44
50
  assert(Array.isArray(arr));
45
- return arr[index].text ? arr[index].text!.toString() : "????";
51
+ return arr[index].text ? arr[index].text?.toString() : "????";
46
52
  }
47
53
 
48
54
  public getIndex(value: string): number {
49
- const arr = this.enumStrings.readValue().value.value;
55
+ const arr = this.$7.enumStrings.readValue().value.value;
50
56
  assert(Array.isArray(arr));
51
57
  const index = arr.findIndex((a: LocalizedText) => a.text === value);
52
58
  return index;
@@ -56,24 +62,25 @@ export class UAMultiStateDiscreteImpl<T, DT extends DataType> extends UAVariable
56
62
  if (typeof value === "string") {
57
63
  const index = this.getIndex(value);
58
64
  if (index < 0) {
59
- throw new Error("UAMultiStateDiscrete#setValue invalid multi state value provided : " + value);
65
+ throw new Error(`UAMultiStateDiscrete#setValue invalid multi state value provided : ${value}`);
60
66
  }
61
- return this.setValue(index, options);
67
+ this.setValue(index, options);
68
+ return;
62
69
  }
63
- const arrayEnumStrings = this.enumStrings.readValue().value.value;
70
+ const arrayEnumStrings = this.$7.enumStrings.readValue().value.value;
64
71
  if (value >= arrayEnumStrings.length) {
65
- throw new Error("UAMultiStateDiscrete#setValue BadOutOfRange " + value);
72
+ throw new Error(`UAMultiStateDiscrete#setValue BadOutOfRange ${value}`);
66
73
  }
67
- assert(isFinite(value));
68
- return this.setValueFromSource(new Variant({ dataType: DataType.UInt32, value }));
74
+ assert(Number.isFinite(value));
75
+ this.setValueFromSource(new Variant({ dataType: DataType.UInt32, value }));
69
76
  }
70
77
 
71
78
  public checkVariantCompatibility(value: Variant): StatusCode {
72
79
  if (!this._validate_DataType(value.dataType)) {
73
80
  return StatusCodes.BadTypeMismatch;
74
81
  }
75
- if (this.enumStrings) {
76
- const arrayEnumStrings = this.enumStrings.readValue().value.value;
82
+ if (this.$7.enumStrings) {
83
+ const arrayEnumStrings = this.$7.enumStrings.readValue().value.value;
77
84
  // MultiStateDiscreteType
78
85
  assert(value.dataType === DataType.UInt32);
79
86
  if (value.value >= arrayEnumStrings.length) {
@@ -87,11 +94,20 @@ export class UAMultiStateDiscreteImpl<T, DT extends DataType> extends UAVariable
87
94
  /* empty */
88
95
  }
89
96
 
90
- public clone<T, DT extends DataType>(options1: any, optionalFilter: any, extraInfo: any): UAMultiStateDiscreteImpl<T, DT> {
97
+ public clone(
98
+ options1: CloneOptions,
99
+ optionalFilter?: CloneFilter,
100
+ extraInfo?: CloneExtraInfo
101
+ ): UAMultiStateDiscreteImpl<T, DT> {
91
102
  const variable1 = UAVariableImpl.prototype.clone.call(this, options1, optionalFilter, extraInfo);
92
103
  return promoteToMultiStateDiscrete(variable1);
93
104
  }
94
105
  }
106
+ export type UAMultiStateDiscreteImpl<T, DT extends DataType> = UAMultiStateDiscreteImplBase<T, DT> & UAMultiStateDiscreteEx<T, DT>;
107
+ export const UAMultiStateDiscreteImpl = UAMultiStateDiscreteImplBase as unknown as new <
108
+ T,
109
+ DT extends DataType
110
+ >() => UAMultiStateDiscreteImpl<T, DT>;
95
111
 
96
112
  export function promoteToMultiStateDiscrete<T, DT extends DataType>(node: UAVariable): UAMultiStateDiscreteImpl<T, DT> {
97
113
  if (node instanceof UAMultiStateDiscreteImpl) {
@@ -116,8 +132,8 @@ export function _addMultiStateDiscrete<T, DT extends DataType>(
116
132
  options: AddMultiStateDiscreteOptions
117
133
  ): UAMultiStateDiscreteImpl<T, DT> {
118
134
  const addressSpace = namespace.addressSpace;
119
- assert(Object.prototype.hasOwnProperty.call(options, "enumStrings"));
120
- assert(!Object.prototype.hasOwnProperty.call(options, "ValuePrecision"));
135
+ assert(Object.hasOwn(options, "enumStrings"));
136
+ assert(!Object.hasOwn(options, "ValuePrecision"));
121
137
 
122
138
  const multiStateDiscreteType = addressSpace.findVariableType("MultiStateDiscreteType");
123
139
  if (!multiStateDiscreteType) {
@@ -153,7 +169,7 @@ export function _addMultiStateDiscrete<T, DT extends DataType>(
153
169
  return coerceLocalizedText(value);
154
170
  });
155
171
 
156
- const enumStringsNode = namespace.addVariable({
172
+ const _enumStringsNode = namespace.addVariable({
157
173
  accessLevel: "CurrentRead", // | CurrentWrite",
158
174
  browseName: { name: "EnumStrings", namespaceIndex: 0 },
159
175
  dataType: "LocalizedText",
@@ -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) {