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
@@ -10,7 +10,7 @@ exports.adjust_userAccessLevel = adjust_userAccessLevel;
10
10
  /**
11
11
  * @module node-opcua-address-space
12
12
  */
13
- const util_1 = require("util");
13
+ const node_util_1 = require("node:util");
14
14
  const chalk_1 = __importDefault(require("chalk"));
15
15
  const node_opcua_address_space_base_1 = require("node-opcua-address-space-base");
16
16
  const node_opcua_assert_1 = require("node-opcua-assert");
@@ -24,17 +24,16 @@ const node_opcua_numeric_range_1 = require("node-opcua-numeric-range");
24
24
  const node_opcua_service_write_1 = require("node-opcua-service-write");
25
25
  const node_opcua_status_code_1 = require("node-opcua-status-code");
26
26
  const node_opcua_types_1 = require("node-opcua-types");
27
- const node_opcua_utils_1 = require("node-opcua-utils");
28
27
  const node_opcua_variant_1 = require("node-opcua-variant");
29
- const session_context_1 = require("../source/session_context");
30
28
  const multiform_func_1 = require("../source/helpers/multiform_func");
29
+ const session_context_1 = require("../source/session_context");
30
+ const apply_condition_refresh_1 = require("./apply_condition_refresh");
31
31
  const base_node_impl_1 = require("./base_node_impl");
32
32
  const base_node_private_1 = require("./base_node_private");
33
- const ua_data_type_impl_1 = require("./ua_data_type_impl");
34
- const apply_condition_refresh_1 = require("./apply_condition_refresh");
35
- const ua_variable_impl_ext_obj_1 = require("./ua_variable_impl_ext_obj");
36
33
  const adjust_datavalue_status_code_1 = require("./data_access/adjust_datavalue_status_code");
37
34
  const get_basic_datatype_1 = require("./get_basic_datatype");
35
+ const ua_data_type_impl_1 = require("./ua_data_type_impl");
36
+ const ua_variable_impl_ext_obj_1 = require("./ua_variable_impl_ext_obj");
38
37
  const validate_data_type_correctness_1 = require("./validate_data_type_correctness");
39
38
  const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
40
39
  const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
@@ -42,10 +41,9 @@ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
42
41
  const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
43
42
  const plainChalk = new Proxy(chalk_1.default, { get: () => (s) => s });
44
43
  function adjust_accessLevel(accessLevel) {
45
- accessLevel = (0, node_opcua_utils_1.isNullOrUndefined)(accessLevel) ? "CurrentRead | CurrentWrite" : accessLevel;
46
- accessLevel = (0, node_opcua_data_model_1.makeAccessLevelFlag)(accessLevel);
47
- (0, node_opcua_assert_1.assert)(isFinite(accessLevel));
48
- return accessLevel;
44
+ const flag = (0, node_opcua_data_model_1.makeAccessLevelFlag)(accessLevel ?? "CurrentRead | CurrentWrite");
45
+ (0, node_opcua_assert_1.assert)(Number.isFinite(flag));
46
+ return flag;
49
47
  }
50
48
  function adjust_userAccessLevel(userAccessLevel, accessLevel) {
51
49
  if (userAccessLevel === undefined) {
@@ -56,7 +54,7 @@ function adjust_userAccessLevel(userAccessLevel, accessLevel) {
56
54
  return (0, node_opcua_data_model_1.makeAccessLevelFlag)(accessLevel & userAccessLevel);
57
55
  }
58
56
  function adjust_samplingInterval(minimumSamplingInterval) {
59
- (0, node_opcua_assert_1.assert)(isFinite(minimumSamplingInterval));
57
+ (0, node_opcua_assert_1.assert)(Number.isFinite(minimumSamplingInterval));
60
58
  if (minimumSamplingInterval < 0) {
61
59
  return -1; // only -1 is a valid negative value for samplingInterval and means "unspecified"
62
60
  }
@@ -66,8 +64,7 @@ function is_Variant(v) {
66
64
  return v instanceof node_opcua_variant_1.Variant;
67
65
  }
68
66
  function is_StatusCode(v) {
69
- return (v &&
70
- v.constructor &&
67
+ return !!(v?.constructor &&
71
68
  (v instanceof node_opcua_status_code_1.StatusCode ||
72
69
  v.constructor.name === "ConstantStatusCode" ||
73
70
  v.constructor.name === "StatusCode" ||
@@ -109,6 +106,13 @@ function default_func(dataValue1, callback1) {
109
106
  *
110
107
  */
111
108
  class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
109
+ // -------------- UAvaraibleImplExArray
110
+ $$variableType;
111
+ $$dataType = undefined;
112
+ $$getElementBrowseName;
113
+ $$extensionObjectArray;
114
+ $$indexPropertyName;
115
+ // --------------
112
116
  nodeClass = node_opcua_data_model_1.NodeClass.Variable;
113
117
  dataType;
114
118
  _basicDataType;
@@ -152,8 +156,8 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
152
156
  constructor(options) {
153
157
  super(options);
154
158
  (0, node_opcua_variant_1.verifyRankAndDimensions)(options);
155
- this.valueRank = options.valueRank;
156
- this.arrayDimensions = options.arrayDimensions;
159
+ this.valueRank = options.valueRank ?? -1;
160
+ this.arrayDimensions = options.arrayDimensions ?? null;
157
161
  this.dataType = this.resolveNodeId(options.dataType); // DataType (NodeId)
158
162
  this.accessLevel = adjust_accessLevel(options.accessLevel);
159
163
  this.userAccessLevel = adjust_userAccessLevel(options.userAccessLevel, this.accessLevel);
@@ -193,7 +197,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
193
197
  }
194
198
  return this.checkAccessLevelPrivate(context, accessLevel);
195
199
  }
196
- isReadable(context) {
200
+ isReadable(_context) {
197
201
  return (this.accessLevel & node_opcua_data_model_1.AccessLevelFlag.CurrentRead) === node_opcua_data_model_1.AccessLevelFlag.CurrentRead;
198
202
  }
199
203
  isUserReadable(context) {
@@ -205,7 +209,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
205
209
  }
206
210
  return this.checkAccessLevelPrivate(context, node_opcua_data_model_1.AccessLevelFlag.CurrentRead);
207
211
  }
208
- isWritable(context) {
212
+ isWritable(_context) {
209
213
  return (this.accessLevel & node_opcua_data_model_1.AccessLevelFlag.CurrentWrite) === node_opcua_data_model_1.AccessLevelFlag.CurrentWrite;
210
214
  }
211
215
  isUserWritable(context) {
@@ -281,7 +285,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
281
285
  if (this._timestamped_get_func) {
282
286
  if (this._timestamped_get_func.length === 0) {
283
287
  const dataValueOrPromise = this._timestamped_get_func();
284
- if (!Object.prototype.hasOwnProperty.call(dataValueOrPromise.constructor.prototype, "then")) {
288
+ if (!Object.hasOwn(dataValueOrPromise.constructor.prototype, "then")) {
285
289
  if (dataValueOrPromise !== this.$dataValue) {
286
290
  // we may have a problem here if we use a getter that returns a dataValue that is a ExtensionObject
287
291
  if (dataValueOrPromise.value?.dataType === node_opcua_variant_1.DataType.ExtensionObject) {
@@ -335,7 +339,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
335
339
  return false;
336
340
  const dataTypeNode = this.addressSpace.findDataType(this.dataType);
337
341
  if (!dataTypeNode) {
338
- throw new Error(" Cannot find DataType " + this.dataType.toString() + " in standard address Space");
342
+ throw new Error(` Cannot find DataType ${this.dataType.toString()} in standard address Space`);
339
343
  }
340
344
  const structureNode = this.addressSpace.findDataType("Structure");
341
345
  if (!structureNode) {
@@ -412,17 +416,17 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
412
416
  writeEnumValue(value) {
413
417
  const enumInfo = this._getEnumerationInfo();
414
418
  if (typeof value === "string") {
415
- if (!Object.prototype.hasOwnProperty.call(enumInfo.nameIndex, value)) {
419
+ if (!Object.hasOwn(enumInfo.nameIndex, value)) {
416
420
  const possibleValues = Object.keys(enumInfo.nameIndex).join(",");
417
- throw new Error("UAVariable#writeEnumValue: cannot find value " + value + " in [" + possibleValues + "]");
421
+ throw new Error(`UAVariable#writeEnumValue: cannot find value ${value} in [${possibleValues}]`);
418
422
  }
419
423
  const valueIndex = enumInfo.nameIndex[value].value;
420
424
  value = valueIndex;
421
425
  }
422
- if (isFinite(value)) {
426
+ if (Number.isFinite(value)) {
423
427
  const possibleValues = Object.keys(enumInfo.nameIndex).join(",");
424
428
  if (!enumInfo.valueIndex[value]) {
425
- throw new Error("UAVariable#writeEnumValue : value out of range " + value + " in [" + possibleValues + "]");
429
+ throw new Error(`UAVariable#writeEnumValue : value out of range ${value} in [${possibleValues}]`);
426
430
  }
427
431
  this.setValueFromSource({
428
432
  dataType: node_opcua_variant_1.DataType.Int32,
@@ -438,7 +442,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
438
442
  (0, node_opcua_assert_1.assert)(context instanceof session_context_1.SessionContext);
439
443
  const options = {};
440
444
  if (attributeId !== node_opcua_data_model_1.AttributeIds.Value) {
441
- if (indexRange && indexRange.isDefined()) {
445
+ if (indexRange?.isDefined()) {
442
446
  options.statusCode = node_opcua_status_code_1.StatusCodes.BadIndexRangeNoData;
443
447
  return new node_opcua_data_value_1.DataValue(options);
444
448
  }
@@ -479,7 +483,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
479
483
  verifyVariantCompatibility(variant) {
480
484
  try {
481
485
  // c8 ignore next
482
- if (Object.prototype.hasOwnProperty.call(variant, "value")) {
486
+ if (Object.hasOwn(variant, "value")) {
483
487
  if (variant.dataType === null || variant.dataType === undefined) {
484
488
  throw new Error("Variant must provide a valid dataType : variant = " +
485
489
  variant.toString() +
@@ -639,30 +643,30 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
639
643
  indexRange = node_opcua_numeric_range_1.NumericRange.coerce(indexRange);
640
644
  // test write permission
641
645
  if (!this.isWritable(context)) {
642
- return callback(null, node_opcua_status_code_1.StatusCodes.BadNotWritable);
646
+ return callback?.(null, node_opcua_status_code_1.StatusCodes.BadNotWritable);
643
647
  }
644
648
  if (!this.checkPermissionPrivate(context, node_opcua_types_1.PermissionType.Write)) {
645
649
  return new node_opcua_data_value_1.DataValue({ statusCode: node_opcua_status_code_1.StatusCodes.BadUserAccessDenied });
646
650
  }
647
651
  if (!this.isUserWritable(context)) {
648
- return callback(null, node_opcua_status_code_1.StatusCodes.BadWriteNotSupported);
652
+ return callback?.(null, node_opcua_status_code_1.StatusCodes.BadWriteNotSupported);
649
653
  }
650
654
  // adjust special case
651
655
  const variant = adjustVariant2.call(this, dataValue.value);
652
656
  const statusCode = this.checkVariantCompatibility(variant);
653
657
  if (statusCode.isNot(node_opcua_status_code_1.StatusCodes.Good)) {
654
- return callback(null, statusCode);
658
+ return callback?.(null, statusCode);
655
659
  }
656
660
  // adjust dataValue.statusCode based on InstrumentRange and EngineeringUnits
657
661
  const statusCode2 = this.adjustDataValueStatusCode(dataValue);
658
662
  if (statusCode2.isNotGood()) {
659
- return callback(null, statusCode2);
663
+ return callback?.(null, statusCode2);
660
664
  }
661
665
  const write_func = this._timestamped_set_func || default_func;
662
666
  if (!write_func) {
663
- warningLog(" warning " + this.nodeId.toString() + " " + this.browseName.toString() + " has no setter. \n");
667
+ warningLog(` warning ${this.nodeId.toString()} ${this.browseName.toString()} has no setter. \n`);
664
668
  warningLog("Please make sure to bind the variable or to pass a valid value: new Variant({}) during construction time");
665
- return callback(null, node_opcua_status_code_1.StatusCodes.BadNotWritable);
669
+ return callback?.(null, node_opcua_status_code_1.StatusCodes.BadNotWritable);
666
670
  }
667
671
  (0, node_opcua_assert_1.assert)(write_func);
668
672
  write_func.call(this, dataValue, (err, statusCode1) => {
@@ -670,7 +674,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
670
674
  dataValue && this.verifyVariantCompatibility(dataValue.value);
671
675
  if (indexRange && !indexRange.isEmpty()) {
672
676
  if (!indexRange.isValid()) {
673
- return callback(null, node_opcua_status_code_1.StatusCodes.BadIndexRangeInvalid);
677
+ return callback?.(null, node_opcua_status_code_1.StatusCodes.BadIndexRangeInvalid);
674
678
  }
675
679
  const newArrayOrMatrix = dataValue.value.value;
676
680
  if (dataValue.value.arrayType === node_opcua_variant_1.VariantArrayType.Array) {
@@ -682,7 +686,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
682
686
  const destArr = this.$dataValue.value.value;
683
687
  const result = indexRange.set_values(destArr, newArrayOrMatrix);
684
688
  if (result.statusCode.isNot(node_opcua_status_code_1.StatusCodes.Good)) {
685
- return callback(null, result.statusCode);
689
+ return callback?.(null, result.statusCode);
686
690
  }
687
691
  dataValue.value.value = result.array;
688
692
  // scrap original array so we detect range
@@ -692,7 +696,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
692
696
  const dimensions = this.$dataValue.value.dimensions;
693
697
  if (this.$dataValue.value.arrayType !== node_opcua_variant_1.VariantArrayType.Matrix || !dimensions) {
694
698
  // not a matrix !
695
- return callback(null, node_opcua_status_code_1.StatusCodes.BadTypeMismatch);
699
+ return callback?.(null, node_opcua_status_code_1.StatusCodes.BadTypeMismatch);
696
700
  }
697
701
  const matrix = this.$dataValue.value.value;
698
702
  const result = indexRange.set_values_matrix({
@@ -700,7 +704,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
700
704
  dimensions
701
705
  }, newArrayOrMatrix);
702
706
  if (result.statusCode.isNot(node_opcua_status_code_1.StatusCodes.Good)) {
703
- return callback(null, result.statusCode);
707
+ return callback?.(null, result.statusCode);
704
708
  }
705
709
  dataValue.value.dimensions = this.$dataValue.value.dimensions;
706
710
  dataValue.value.value = result.matrix;
@@ -708,20 +712,20 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
708
712
  this.$dataValue.value.value = null;
709
713
  }
710
714
  else {
711
- return callback(null, node_opcua_status_code_1.StatusCodes.BadTypeMismatch);
715
+ return callback?.(null, node_opcua_status_code_1.StatusCodes.BadTypeMismatch);
712
716
  }
713
717
  }
714
718
  try {
715
719
  this._internal_set_dataValue(dataValue, indexRange);
716
720
  }
717
721
  catch (err) {
718
- if (util_1.types.isNativeError(err)) {
722
+ if (node_util_1.types.isNativeError(err)) {
719
723
  warningLog(err.message);
720
724
  }
721
- return callback(null, node_opcua_status_code_1.StatusCodes.BadInternalError);
725
+ return callback?.(null, node_opcua_status_code_1.StatusCodes.BadInternalError);
722
726
  }
723
727
  }
724
- callback(err || null, statusCode1);
728
+ callback?.(err || null, statusCode1);
725
729
  });
726
730
  }
727
731
  writeAttribute(context, writeValueOptions, callback) {
@@ -737,7 +741,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
737
741
  (0, node_opcua_assert_1.assert)(context instanceof session_context_1.SessionContext);
738
742
  (0, node_opcua_assert_1.assert)(writeValue instanceof node_opcua_service_write_1.WriteValue);
739
743
  (0, node_opcua_assert_1.assert)(writeValue.value instanceof node_opcua_data_value_1.DataValue);
740
- (0, node_opcua_assert_1.assert)(writeValue.value.value instanceof node_opcua_variant_1.Variant);
744
+ (0, node_opcua_assert_1.assert)(writeValue.value?.value instanceof node_opcua_variant_1.Variant);
741
745
  (0, node_opcua_assert_1.assert)(typeof callback === "function");
742
746
  // Spec 1.0.2 Part 4 page 58
743
747
  // If the SourceTimestamp or the ServerTimestamp is specified, the Server shall
@@ -748,7 +752,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
748
752
  this.writeValue(context, writeValue.value, writeValue.indexRange, callback);
749
753
  break;
750
754
  case node_opcua_data_model_1.AttributeIds.Historizing:
751
- if (writeValue.value.value.dataType !== node_opcua_variant_1.DataType.Boolean) {
755
+ if (writeValue.value?.value.dataType !== node_opcua_variant_1.DataType.Boolean) {
752
756
  return callback(null, node_opcua_status_code_1.StatusCodes.BadTypeMismatch);
753
757
  }
754
758
  if (!this.checkPermissionPrivate(context, node_opcua_types_1.PermissionType.WriteHistorizing)) {
@@ -763,7 +767,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
763
767
  }
764
768
  // check if user is allowed to do that !
765
769
  // TODO
766
- this.historizing = !!writeValue.value.value.value; // yes ! indeed !
770
+ this.historizing = !!writeValue.value?.value.value; // yes ! indeed !
767
771
  return callback(null, node_opcua_status_code_1.StatusCodes.Good);
768
772
  default:
769
773
  super.writeAttribute(context, writeValue, callback);
@@ -784,7 +788,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
784
788
  try {
785
789
  this.verifyVariantCompatibility(value);
786
790
  }
787
- catch (err) {
791
+ catch (_err) {
788
792
  return node_opcua_status_code_1.StatusCodes.BadTypeMismatch;
789
793
  }
790
794
  return node_opcua_status_code_1.StatusCodes.Good;
@@ -941,7 +945,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
941
945
  }
942
946
  // post conditions
943
947
  (0, node_opcua_assert_1.assert)(typeof this._timestamped_set_func === "function");
944
- (0, node_opcua_assert_1.assert)(this._timestamped_set_func.length === 2, "expecting 2 parameters");
948
+ (0, node_opcua_assert_1.assert)(this._timestamped_set_func?.length === 2, "expecting 2 parameters");
945
949
  }
946
950
  readValueAsync(context, callback) {
947
951
  (0, node_opcua_assert_1.assert)(typeof callback === "function");
@@ -953,7 +957,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
953
957
  return;
954
958
  }
955
959
  if (this.isDisposed()) {
956
- return callback(null, new node_opcua_data_value_1.DataValue({ statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown }));
960
+ return callback?.(null, new node_opcua_data_value_1.DataValue({ statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown }));
957
961
  }
958
962
  const readImmediate = (innerCallback) => {
959
963
  (0, node_opcua_assert_1.assert)(this.$dataValue instanceof node_opcua_data_value_1.DataValue);
@@ -987,7 +991,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
987
991
  // now call all pending callbacks
988
992
  const callbacks = this.__waiting_callbacks || [];
989
993
  this.__waiting_callbacks = [];
990
- const n = callbacks.length;
994
+ const _n = callbacks.length;
991
995
  for (const callback1 of callbacks) {
992
996
  callback1.call(this, err, dataValue);
993
997
  }
@@ -999,7 +1003,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
999
1003
  // c8 ignore next
1000
1004
  if (doDebug) {
1001
1005
  debugLog(chalk_1.default.red("func readValueAsync has failed "));
1002
- if (util_1.types.isNativeError(err)) {
1006
+ if (node_util_1.types.isNativeError(err)) {
1003
1007
  debugLog(" stack", err.stack);
1004
1008
  }
1005
1009
  }
@@ -1025,7 +1029,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1025
1029
  userAccessLevel: this.userAccessLevel,
1026
1030
  valueRank: this.valueRank
1027
1031
  };
1028
- const newVariable = (0, base_node_private_1._clone)(this, UAVariableImpl, options, optionalFilter || node_opcua_address_space_base_1.defaultCloneFilter, extraInfo || (0, node_opcua_address_space_base_1.makeDefaultCloneExtraInfo)(this));
1032
+ const newVariable = (0, base_node_private_1._clone)(this, (UAVariableImpl), options, optionalFilter || node_opcua_address_space_base_1.defaultCloneFilter, extraInfo || (0, node_opcua_address_space_base_1.makeDefaultCloneExtraInfo)(this));
1029
1033
  newVariable.bindVariable();
1030
1034
  (0, node_opcua_assert_1.assert)(typeof newVariable._timestamped_set_func === "function");
1031
1035
  (0, node_opcua_assert_1.assert)(newVariable.dataType === this.dataType);
@@ -1057,7 +1061,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1057
1061
  const dt = addressSpace.findNode(this.dataType);
1058
1062
  // c8 ignore next
1059
1063
  if (!dt) {
1060
- throw new Error("getDataTypeNode: cannot find dataType " + this.dataType.toString());
1064
+ throw new Error(`getDataTypeNode: cannot find dataType ${this.dataType.toString()}`);
1061
1065
  }
1062
1066
  return dt;
1063
1067
  }
@@ -1084,14 +1088,14 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1084
1088
  const Constructor = addressSpace.getExtensionObjectConstructor(this.dataType);
1085
1089
  if (this.valueRank === -1) {
1086
1090
  /** Scalar */
1087
- if (extObj instanceof Array) {
1091
+ if (Array.isArray(extObj)) {
1088
1092
  return false;
1089
1093
  }
1090
1094
  return checkExtensionObjectIsCorrectScalar.call(this, extObj);
1091
1095
  }
1092
1096
  else if (this.valueRank >= 1) {
1093
1097
  /** array */
1094
- if (!(extObj instanceof Array)) {
1098
+ if (!Array.isArray(extObj)) {
1095
1099
  // let's coerce this scalar into an 1-element array if it is a valid extension object
1096
1100
  if (checkExtensionObjectIsCorrectScalar.call(this, extObj)) {
1097
1101
  warningLog(`warning: checkExtensionObjectIsCorrect : expecting a array but got a scalar (value rank of '${this.browseName.toString()}' is 1)\nautomatic conversion from scalar to array with 1 element is taking place.`);
@@ -1114,7 +1118,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1114
1118
  }
1115
1119
  function checkExtensionObjectIsCorrectScalar(extObj) {
1116
1120
  // c8 ignore next
1117
- if (!(extObj && extObj.constructor)) {
1121
+ if (!extObj?.constructor) {
1118
1122
  errorLog(extObj);
1119
1123
  throw new Error("expecting an valid extension object");
1120
1124
  }
@@ -1137,7 +1141,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1137
1141
  function checkExtensionObjectIsCorrectArray(extObjArray) {
1138
1142
  // c8 ignore next
1139
1143
  for (const extObj of extObjArray) {
1140
- if (!(extObj && extObj.constructor)) {
1144
+ if (!extObj?.constructor) {
1141
1145
  errorLog(extObj);
1142
1146
  throw new Error("expecting an valid extension object");
1143
1147
  }
@@ -1194,13 +1198,13 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1194
1198
  optionalExtensionObject = [optionalExtensionObject];
1195
1199
  }
1196
1200
  if (optionalExtensionObject) {
1197
- if (optionalExtensionObject instanceof Array) {
1201
+ if (Array.isArray(optionalExtensionObject)) {
1198
1202
  (0, node_opcua_assert_1.assert)(this.valueRank >= 1, "bindExtensionObject: expecting an Array of Matrix variable here");
1199
1203
  return (0, ua_variable_impl_ext_obj_1._bindExtensionObjectArrayOrMatrix)(this, optionalExtensionObject, options);
1200
1204
  }
1201
1205
  else {
1202
1206
  if (this.valueRank !== -1 && this.valueRank !== 0) {
1203
- throw new Error("bindExtensionObject: expecting an Scalar variable here but got value rank " + this.valueRank);
1207
+ throw new Error(`bindExtensionObject: expecting an Scalar variable here but got value rank ${this.valueRank}`);
1204
1208
  }
1205
1209
  return (0, ua_variable_impl_ext_obj_1._bindExtensionObject)(this, optionalExtensionObject, options);
1206
1210
  }
@@ -1274,7 +1278,10 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1274
1278
  if (dv) {
1275
1279
  if (dv.statusCode)
1276
1280
  statusStr = dv.statusCode.toString();
1277
- if (dv.value && dv.value.value !== undefined && dv.value.value !== null && !(dv.value.value instanceof node_opcua_extension_object_1.OpaqueStructure)) {
1281
+ if (dv.value &&
1282
+ dv.value.value !== undefined &&
1283
+ dv.value.value !== null &&
1284
+ !(dv.value.value instanceof node_opcua_extension_object_1.OpaqueStructure)) {
1278
1285
  const v = dv.value.value;
1279
1286
  valueStr = typeof v === "object" ? Object.prototype.toString.call(v) : String(v);
1280
1287
  if (valueStr.length > 80)
@@ -1311,17 +1318,17 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1311
1318
  (0, node_opcua_assert_1.assert)(context instanceof session_context_1.SessionContext);
1312
1319
  (0, node_opcua_assert_1.assert)(typeof callback === "function");
1313
1320
  if (typeof this._historyRead !== "function") {
1314
- return callback(null, new node_opcua_types_1.HistoryReadResult({ statusCode: node_opcua_status_code_1.StatusCodes.BadNotReadable }));
1321
+ return callback?.(null, new node_opcua_types_1.HistoryReadResult({ statusCode: node_opcua_status_code_1.StatusCodes.BadNotReadable }));
1315
1322
  }
1316
1323
  this._historyRead(context, historyReadDetails, indexRange, dataEncoding, continuationData, callback);
1317
1324
  }
1318
- _historyReadRaw(context, historyReadRawModifiedDetails, indexRange, dataEncoding, continuationData, callback) {
1325
+ _historyReadRaw(_context, _historyReadRawModifiedDetails, _indexRange, _dataEncoding, _continuationData, _callback) {
1319
1326
  throw new Error("");
1320
1327
  }
1321
- _historyReadRawModify(context, historyReadRawModifiedDetails, indexRange, dataEncoding, continuationData, callback) {
1328
+ _historyReadRawModify(_context, _historyReadRawModifiedDetails, _indexRange, _dataEncoding, _continuationData, _callback) {
1322
1329
  throw new Error("");
1323
1330
  }
1324
- _historyRead(context, historyReadDetails, indexRange, dataEncoding, continuationData, callback) {
1331
+ _historyRead(context, _historyReadDetails, _indexRange, _dataEncoding, _continuationData, callback) {
1325
1332
  if (!this.checkPermissionPrivate(context, node_opcua_types_1.PermissionType.ReadHistory)) {
1326
1333
  const result = new node_opcua_types_1.HistoryReadResult({
1327
1334
  statusCode: node_opcua_status_code_1.StatusCodes.BadUserAccessDenied
@@ -1339,20 +1346,20 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1339
1346
  });
1340
1347
  callback(null, result);
1341
1348
  }
1342
- _historyPush(newDataValue) {
1349
+ _historyPush(_newDataValue) {
1343
1350
  throw new Error("");
1344
1351
  }
1345
- _historyReadRawAsync(historyReadRawModifiedDetails, maxNumberToExtract, isReversed, reverseDataValue, callback) {
1352
+ _historyReadRawAsync(_historyReadRawModifiedDetails, _maxNumberToExtract, _isReversed, _reverseDataValue, _callback) {
1346
1353
  throw new Error("");
1347
1354
  }
1348
- _historyReadModify(context, historyReadRawModifiedDetails, indexRange, dataEncoding, continuationData, callback) {
1355
+ _historyReadModify(_context, _historyReadRawModifiedDetails, _indexRange, _dataEncoding, _continuationData, _callback) {
1349
1356
  throw new Error("");
1350
1357
  }
1351
- _update_startOfOnlineArchive(newDate) {
1358
+ _update_startOfOnlineArchive(_newDate) {
1352
1359
  // please install
1353
1360
  throw new Error("");
1354
1361
  }
1355
- _update_startOfArchive(newDate) {
1362
+ _update_startOfArchive(_newDate) {
1356
1363
  throw new Error("");
1357
1364
  }
1358
1365
  _validate_DataType(variantDataType) {
@@ -1389,7 +1396,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1389
1396
  // c8 ignore next
1390
1397
  if (!this.checkExtensionObjectIsCorrect(dataValue.value.value)) {
1391
1398
  warningLog(dataValue.toString());
1392
- throw new Error("Invalid Extension Object on nodeId =" + this.nodeId.toString());
1399
+ throw new Error(`Invalid Extension Object on nodeId =${this.nodeId.toString()}`);
1393
1400
  }
1394
1401
  }
1395
1402
  this.verifyVariantCompatibility(dataValue.value);
@@ -1459,7 +1466,7 @@ class UAVariableImpl extends base_node_impl_1.BaseNodeImpl {
1459
1466
  _conditionRefresh(_cache) {
1460
1467
  apply_condition_refresh_1.apply_condition_refresh.call(this, _cache);
1461
1468
  }
1462
- handle_semantic_changed() {
1469
+ handle_semantic_changed(_dataValue) {
1463
1470
  this.semantic_version = this.semantic_version + 1;
1464
1471
  this.emit("semantic_changed");
1465
1472
  }
@@ -1588,7 +1595,7 @@ function check_valid_array(dataType, array) {
1588
1595
  function unsetFlag(flags, mask) {
1589
1596
  return flags & ~mask;
1590
1597
  }
1591
- function setFlag(flags, mask) {
1598
+ function _setFlag(flags, mask) {
1592
1599
  return flags | mask;
1593
1600
  }
1594
1601
  function _calculateEffectiveUserAccessLevelFromPermission(node, context, userAccessLevel) {
@@ -1620,7 +1627,7 @@ function _calculateEffectiveUserAccessLevelFromPermission(node, context, userAcc
1620
1627
  }
1621
1628
  function adjustVariant2(variant) {
1622
1629
  // convert Variant( Scalar|ByteString) => Variant(Array|ByteArray)
1623
- const addressSpace = this.addressSpace;
1630
+ const _addressSpace = this.addressSpace;
1624
1631
  const basicType = this.getBasicDataType();
1625
1632
  variant = (0, node_opcua_variant_1.adjustVariant)(variant, this.valueRank, basicType);
1626
1633
  return variant;
@@ -1680,13 +1687,15 @@ function _Variable_bind_with_async_refresh(options) {
1680
1687
  (0, node_opcua_assert_1.assert)(!options.timestamped_get, "a getter shall not be specified when refreshFunc is set");
1681
1688
  (0, node_opcua_assert_1.assert)(!this.refreshFunc);
1682
1689
  this.refreshFunc = options.refreshFunc;
1683
- // TO DO : REVISIT THIS ASSUMPTION
1684
- if (false && this.minimumSamplingInterval === 0) {
1685
- // when a getter /timestamped_getter or async_getter is provided
1686
- // samplingInterval cannot be 0, as the item value must be scanned to be updated.
1687
- this.minimumSamplingInterval = _default_minimumSamplingInterval; // MonitoredItem.minimumSamplingInterval;
1688
- debugLog("adapting minimumSamplingInterval on " + this.browseName.toString() + " to " + this.minimumSamplingInterval);
1689
- }
1690
+ /*
1691
+ // TO DO : REVISIT THIS ASSUMPTION
1692
+ if (false && this.minimumSamplingInterval === 0) {
1693
+ // when a getter /timestamped_getter or async_getter is provided
1694
+ // samplingInterval cannot be 0, as the item value must be scanned to be updated.
1695
+ this.minimumSamplingInterval = _default_minimumSamplingInterval; // MonitoredItem.minimumSamplingInterval;
1696
+ debugLog(`adapting minimumSamplingInterval on ${this.browseName.toString()} to ${this.minimumSamplingInterval}`);
1697
+ }
1698
+ */
1690
1699
  }
1691
1700
  // variation 2
1692
1701
  function _Variable_bind_with_timestamped_get(options) {
@@ -1730,7 +1739,7 @@ function _Variable_bind_with_timestamped_get(options) {
1730
1739
  function _Variable_bind_with_simple_get(options) {
1731
1740
  (0, node_opcua_assert_1.assert)(this instanceof UAVariableImpl);
1732
1741
  (0, node_opcua_assert_1.assert)(typeof options.get === "function", "should specify get function");
1733
- (0, node_opcua_assert_1.assert)(options.get.length === 0, "get function should not have arguments");
1742
+ (0, node_opcua_assert_1.assert)(options.get?.length === 0, "get function should not have arguments");
1734
1743
  (0, node_opcua_assert_1.assert)(!options.timestamped_get, "should not specify a timestamped_get function when get is specified");
1735
1744
  (0, node_opcua_assert_1.assert)(!this._timestamped_get_func);
1736
1745
  (0, node_opcua_assert_1.assert)(!this._get_func);
@@ -1746,9 +1755,7 @@ function _Variable_bind_with_simple_get(options) {
1746
1755
  return new node_opcua_data_value_1.DataValue({ statusCode: value });
1747
1756
  }
1748
1757
  else {
1749
- if (!this.$dataValue ||
1750
- !this.$dataValue.statusCode.isGoodish() ||
1751
- !(0, node_opcua_variant_1.sameVariant)(this.$dataValue.value, value)) {
1758
+ if (!this.$dataValue?.statusCode.isGoodish() || !(0, node_opcua_variant_1.sameVariant)(this.$dataValue.value, value)) {
1752
1759
  // rebuilding artificially timestamps with current clock as they are not provided
1753
1760
  // by the underlying getter function
1754
1761
  const { timestamp: sourceTimestamp, picoseconds: sourcePicoseconds } = (0, node_opcua_date_time_1.getCurrentClock)();
@@ -1782,7 +1789,7 @@ function _Variable_bind_with_simple_set(options) {
1782
1789
  errorLog(chalk_1.default.yellow("StatusCode.Good is assumed"));
1783
1790
  return callback(err, node_opcua_status_code_1.StatusCodes.Good, timestamped_value);
1784
1791
  }
1785
- if (statusCode && statusCode.isNotGood()) {
1792
+ if (statusCode?.isNotGood()) {
1786
1793
  // record the value but still record the statusCode !
1787
1794
  timestamped_value.statusCode = statusCode;
1788
1795
  }
@@ -1848,7 +1855,7 @@ function bind_getter(options) {
1848
1855
  _Variable_bind_with_async_refresh.call(this, { refreshFunc: options.refreshFunc });
1849
1856
  }
1850
1857
  else {
1851
- (0, node_opcua_assert_1.assert)(!Object.prototype.hasOwnProperty.call(options, "set"), "getter is missing : a getter must be provided if a setter is provided");
1858
+ (0, node_opcua_assert_1.assert)(!Object.hasOwn(options, "set"), "getter is missing : a getter must be provided if a setter is provided");
1852
1859
  // xx bind_variant.call(this,options);
1853
1860
  if (options.dataType !== undefined) {
1854
1861
  // if (options.dataType !== DataType.ExtensionObject) {
@@ -1858,6 +1865,15 @@ function bind_getter(options) {
1858
1865
  }
1859
1866
  }
1860
1867
  class UAVariableImplT extends UAVariableImpl {
1868
+ readValue(context, indexRange, dataEncoding) {
1869
+ return super.readValue(context, indexRange, dataEncoding);
1870
+ }
1871
+ readValueAsync(context, callback) {
1872
+ return super.readValueAsync(context, callback);
1873
+ }
1874
+ writeValue(context, dataValue, indexRangeOrCallback, callback) {
1875
+ return super.writeValue(context, dataValue, indexRangeOrCallback, callback);
1876
+ }
1861
1877
  }
1862
1878
  exports.UAVariableImplT = UAVariableImplT;
1863
1879
  function changeUAVariableDataType(uaVariable, newDataType, valueLike) {
@@ -1866,7 +1882,7 @@ function changeUAVariableDataType(uaVariable, newDataType, valueLike) {
1866
1882
  const newDataTypeNode = addressSpace.findNode(newDataType);
1867
1883
  // c8 ignore next
1868
1884
  if (!newDataTypeNode || !(newDataTypeNode instanceof ua_data_type_impl_1.UADataTypeImpl)) {
1869
- throw new Error("Cannot find newDataTypeNode " + newDataType.toString());
1885
+ throw new Error(`Cannot find newDataTypeNode ${newDataType.toString()}`);
1870
1886
  }
1871
1887
  const newBaseDataType = newDataTypeNode.basicDataType;
1872
1888
  // c8 ignore next