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
@@ -5,58 +5,53 @@
5
5
  */
6
6
  // tslint:disable:no-bitwise
7
7
  import chalk from "chalk";
8
+ import type {
9
+ BaseNode,
10
+ CloneExtraInfo,
11
+ CloneFilter,
12
+ IAddressSpace,
13
+ ISessionContext,
14
+ UADataType,
15
+ UAMethod,
16
+ UAObject,
17
+ UAObjectType,
18
+ UAReference,
19
+ UAReferenceType,
20
+ UAVariable,
21
+ UAVariableT,
22
+ UAVariableType
23
+ } from "node-opcua-address-space-base";
24
+ import { CloneHelper, type CloneOptions, type ConstructNodeIdOptions, fullPath2 } from "node-opcua-address-space-base";
8
25
  import { assert } from "node-opcua-assert";
26
+ import type { DataType } from "node-opcua-basic-types";
27
+ import { ObjectTypeIds, VariableTypeIds } from "node-opcua-constants";
9
28
  import {
10
29
  AccessLevelFlag,
11
30
  BrowseDirection,
12
31
  coerceLocalizedText,
13
32
  coerceQualifiedName,
14
- LocalizedText,
33
+ type LocalizedText,
15
34
  NodeClass,
16
35
  ResultMask
17
36
  } from "node-opcua-data-model";
18
- import { checkDebugFlag, make_warningLog, make_errorLog } from "node-opcua-debug";
19
- import { NodeId, resolveNodeId, sameNodeId } from "node-opcua-nodeid";
20
- import { ReferenceDescription } from "node-opcua-types";
21
- import {
22
- IAddressSpace,
23
- UADataType,
24
- UAReferenceType,
25
- ConstructNodeIdOptions,
26
- CloneExtraInfo,
27
- CloneFilter,
28
- BaseNode,
29
- UAVariable,
30
- UAMethod,
31
- UAObject,
32
- UAObjectType,
33
- UAVariableType,
34
- ISessionContext,
35
- UAReference,
36
- CloneOptions,
37
- CloneHelper,
38
- fullPath2,
39
- UAVariableT
40
- } from "node-opcua-address-space-base";
41
- import { DataValue } from "node-opcua-data-value";
42
- import { ObjectTypeIds, VariableTypeIds } from "node-opcua-constants";
43
-
44
- import { UANamespace_process_modelling_rule } from "./namespace_private";
45
- import { ReferenceImpl, resolveReferenceNode } from "./reference_impl";
37
+ import type { DataValue } from "node-opcua-data-value";
38
+ import { checkDebugFlag, make_errorLog, make_warningLog } from "node-opcua-debug";
39
+ import { ExpandedNodeId, NodeId, resolveNodeId, sameNodeId } from "node-opcua-nodeid";
40
+ import { ReferenceDescription, type ReferenceDescriptionOptions } from "node-opcua-types";
41
+ import type { AddressSpacePrivate } from "./address_space_private";
46
42
  import { BaseNodeImpl, getReferenceType } from "./base_node_impl";
47
- import { AddressSpacePrivate } from "./address_space_private";
43
+ import { UANamespace_process_modelling_rule } from "./namespace_private";
44
+ import { ReferenceImpl } from "./reference_impl";
48
45
  import { wipeMemorizedStuff } from "./tool_isSubtypeOf";
49
- import { DataType } from "node-opcua-basic-types";
50
46
 
51
47
  // eslint-disable-next-line prefer-const
52
- const errorLog = make_errorLog(__filename);
48
+ const errorLog = make_errorLog("address-space:BaseNode");
53
49
  const doTrace = checkDebugFlag("INSTANTIATE");
54
50
  const traceLog = errorLog;
51
+ const warningLog = make_warningLog("address-space:BaseNode");
55
52
 
56
53
  const g_weakMap = new WeakMap();
57
54
 
58
- const warningLog = make_warningLog(__filename);
59
-
60
55
  interface BaseNodeCacheInner {
61
56
  typeDefinition?: NodeId;
62
57
  typeDefinitionObj?: UAVariableType | UAObjectType | null;
@@ -82,7 +77,6 @@ export type UAReferenceWithNodeRef = UAReference & { node: BaseNode };
82
77
  export type HierarchicalIndexMap = Map<string, UAReferenceWithNodeRef | UAReferenceWithNodeRef[]>;
83
78
 
84
79
  interface BaseNodeCache {
85
-
86
80
  _childByNameMap?: HierarchicalIndexMap;
87
81
  __address_space: IAddressSpace | null;
88
82
  _browseFilter?: (this: BaseNode, context?: ISessionContext) => boolean;
@@ -105,7 +99,7 @@ export function BaseNode_initPrivate(self: BaseNode): BaseNodeCache {
105
99
  _cache: {},
106
100
  _description: undefined,
107
101
  _displayName: [],
108
- _parent: undefined,
102
+ _parent: undefined
109
103
  };
110
104
  g_weakMap.set(self, _private);
111
105
  return _private;
@@ -133,25 +127,26 @@ export function BaseNode_getCache(node: BaseNode): BaseNodeCacheInner {
133
127
  }
134
128
  export function BaseNode_clearCache(node: BaseNode): void {
135
129
  const _private = BaseNode_getPrivate(node);
136
- if (_private && _private._cache) {
130
+ if (_private?._cache) {
137
131
  _private._cache = {};
138
132
  }
139
133
  wipeMemorizedStuff(node);
140
134
  }
141
135
  const hasTypeDefinition_ReferenceTypeNodeId = resolveNodeId("HasTypeDefinition");
142
136
 
143
- export interface ToStringOption {
137
+ export interface ToStringOptionBase {
144
138
  level: number;
145
- cycleDetector: any;
139
+ cycleDetector: Record<string, unknown>;
146
140
  padding: string;
147
-
141
+ }
142
+ export interface ToStringOption extends ToStringOptionBase {
148
143
  add(someLine: string): void;
149
144
  indent(a: string, b: string | null): void;
150
145
  }
151
146
 
152
147
  export class ToStringBuilder implements ToStringOption {
153
148
  public level = 0;
154
- public cycleDetector: any = {};
149
+ public cycleDetector: Record<string, unknown> = {};
155
150
  public padding = "";
156
151
 
157
152
  private str: string[] = [];
@@ -193,13 +188,13 @@ export function BaseNode_toString(this: BaseNode, options: ToStringOption): void
193
188
  options.add("");
194
189
  options.add(options.padding + chalk.yellow(" nodeId : ") + this.nodeId.toString());
195
190
  options.add(
196
- options.padding + chalk.yellow(" nodeClass : ") + NodeClass[this.nodeClass] + " (" + this.nodeClass + ")"
191
+ `${options.padding + chalk.yellow(" nodeClass : ")}${NodeClass[this.nodeClass]} (${this.nodeClass})`
197
192
  );
198
193
  options.add(options.padding + chalk.yellow(" browseName : ") + this.browseName.toString());
199
194
  options.add(
200
195
  options.padding +
201
- chalk.yellow(" displayName : ") +
202
- this.displayName.map((f) => f.locale + " " + f.text).join(" | ")
196
+ chalk.yellow(" displayName : ") +
197
+ this.displayName.map((f) => `${f.locale} ${f.text}`).join(" | ")
203
198
  );
204
199
 
205
200
  options.add(
@@ -216,12 +211,7 @@ export function BaseNode_References_toString(this: BaseNode, options: ToStringOp
216
211
 
217
212
  const addressSpace = this.addressSpace;
218
213
 
219
- options.add(
220
- options.padding +
221
- chalk.yellow(" references : ") +
222
- " length =" +
223
- _private._referenceIdx.size
224
- );
214
+ options.add(`${options.padding + chalk.yellow(" references : ")} length =${_private._referenceIdx.size}`);
225
215
 
226
216
  function dump_reference(follow: boolean, reference: UAReference | null) {
227
217
  if (!reference) {
@@ -241,7 +231,7 @@ export function BaseNode_References_toString(this: BaseNode, options: ToStringOp
241
231
  case NodeClass.Object:
242
232
  return "[O] ";
243
233
  case NodeClass.Variable:
244
- return "[V] " + (o as UAVariable).dataType.toString(displayOptions).padEnd(10);
234
+ return `[V] ${(o as UAVariable).dataType.toString(displayOptions).padEnd(10)}`;
245
235
  case NodeClass.Method:
246
236
  return "[M] ";
247
237
  case NodeClass.DataType:
@@ -259,12 +249,12 @@ export function BaseNode_References_toString(this: BaseNode, options: ToStringOp
259
249
  })();
260
250
  options.add(
261
251
  options.padding +
262
- chalk.yellow(" +-> ") +
263
- reference.toString(displayOptions) +
264
- " " +
265
- chalk.cyan(name.padEnd(25, " ")) +
266
- " " +
267
- chalk.magentaBright(extra)
252
+ chalk.yellow(" +-> ") +
253
+ reference.toString(displayOptions) +
254
+ " " +
255
+ chalk.cyan(name.padEnd(25, " ")) +
256
+ " " +
257
+ chalk.magentaBright(extra)
268
258
  );
269
259
 
270
260
  // ignore HasTypeDefinition as it has been already handled
@@ -275,10 +265,10 @@ export function BaseNode_References_toString(this: BaseNode, options: ToStringOp
275
265
  if (!is_already_processed(options, o.nodeId)) {
276
266
  set_as_processed(options, o.nodeId);
277
267
  if (options.level > 1 && follow) {
278
- const rr = (o as any).toString({
268
+ const rr = (o as { toString(options: ToStringOptionBase): string }).toString({
279
269
  cycleDetector: options.cycleDetector,
280
270
  level: options.level - 1,
281
- padding: options.padding + " "
271
+ padding: `${options.padding} `
282
272
  });
283
273
  options.add(rr);
284
274
  }
@@ -287,17 +277,16 @@ export function BaseNode_References_toString(this: BaseNode, options: ToStringOp
287
277
  }
288
278
 
289
279
  // direct reference
290
- for (var r of _private._referenceIdx.values()) {
280
+ for (const r of _private._referenceIdx.values()) {
291
281
  dump_reference(false, r);
292
282
  }
293
283
 
294
-
295
284
  options.add(
296
285
  options.padding +
297
- chalk.yellow(" back_references : ") +
298
- chalk.cyan(" length =") +
299
- _private._back_referenceIdx.size +
300
- chalk.grey(" ( references held by other nodes involving this node)")
286
+ chalk.yellow(" back_references : ") +
287
+ chalk.cyan(" length =") +
288
+ _private._back_referenceIdx.size +
289
+ chalk.grey(" ( references held by other nodes involving this node)")
301
290
  );
302
291
  for (const r of _private._back_referenceIdx.values()) {
303
292
  dump_reference(false, r);
@@ -309,11 +298,11 @@ function _UAType_toString(this: UAReferenceType | UADataType | UAObjectType | UA
309
298
  if (this.subtypeOfObj) {
310
299
  options.add(
311
300
  options.padding +
312
- chalk.yellow(" subtypeOf : ") +
313
- this.subtypeOfObj.browseName.toString() +
314
- " (" +
315
- this.subtypeOfObj.nodeId.toString() +
316
- ")"
301
+ chalk.yellow(" subtypeOf : ") +
302
+ this.subtypeOfObj.browseName.toString() +
303
+ " (" +
304
+ this.subtypeOfObj.nodeId.toString() +
305
+ ")"
317
306
  );
318
307
  }
319
308
  }
@@ -322,11 +311,11 @@ function _UAInstance_toString(this: UAVariable | UAMethod | UAObject, options: T
322
311
  if (this.typeDefinitionObj) {
323
312
  options.add(
324
313
  options.padding +
325
- chalk.yellow(" typeDefinition : ") +
326
- this.typeDefinitionObj.browseName.toString() +
327
- " (" +
328
- this.typeDefinitionObj.nodeId.toString() +
329
- ")"
314
+ chalk.yellow(" typeDefinition : ") +
315
+ this.typeDefinitionObj.browseName.toString() +
316
+ " (" +
317
+ this.typeDefinitionObj.nodeId.toString() +
318
+ ")"
330
319
  );
331
320
  }
332
321
  }
@@ -372,9 +361,9 @@ export function valueRankToString(valueRank: number): string {
372
361
  return "ScalarOrOneDimension (2)"; // The value can be a scalar or a one dimensional array.
373
362
  default:
374
363
  if (valueRank > 0) {
375
- return "" + valueRank + "-Dimensions";
364
+ return `${valueRank}-Dimensions`;
376
365
  } else {
377
- return "Invalid (" + valueRank + ")";
366
+ return `Invalid (${valueRank})`;
378
367
  }
379
368
  }
380
369
  }
@@ -408,11 +397,11 @@ function accessLevelFlagToString(flag: AccessLevelFlag): string {
408
397
  function AccessLevelFlags_toString(this: UAVariable, options: ToStringOption) {
409
398
  assert(options);
410
399
  options.add(
411
- options.padding + chalk.yellow(" accessLevel : ") + " " + accessLevelFlagToString(this.accessLevel)
400
+ `${options.padding + chalk.yellow(" accessLevel : ")} ${accessLevelFlagToString(this.accessLevel)}`
412
401
  );
413
402
  if (this.userAccessLevel !== undefined) {
414
403
  options.add(
415
- options.padding + chalk.yellow(" userAccessLevel : ") + " " + accessLevelFlagToString(this.userAccessLevel)
404
+ `${options.padding + chalk.yellow(" userAccessLevel : ")} ${accessLevelFlagToString(this.userAccessLevel)}`
416
405
  );
417
406
  }
418
407
  }
@@ -425,46 +414,38 @@ export function VariableOrVariableType_toString(this: UAVariableType | UAVariabl
425
414
  if (this.dataType) {
426
415
  const addressSpace = this.addressSpace;
427
416
  const d = addressSpace.findNode(this.dataType);
428
- const n = d ? "(" + d.browseName.toString() + ")" : " (???)";
429
- options.add(options.padding + chalk.yellow(" dataType : ") + this.dataType + " " + n);
417
+ const n = d ? `(${d.browseName.toString()})` : " (???)";
418
+ options.add(`${options.padding + chalk.yellow(" dataType : ")} ${this.dataType} ${n}`);
430
419
  }
431
420
  if (this.nodeClass === NodeClass.Variable) {
432
421
  const _dataValue = (<WithDataValue>this).$dataValue;
433
422
  if (_dataValue) {
434
423
  options.add(
435
424
  options.padding +
436
- chalk.yellow(" value : ") +
437
- "\n" +
438
- options.indent(_dataValue.toString(), options.padding + " | ")
425
+ chalk.yellow(" value : ") +
426
+ "\n" +
427
+ options.indent(_dataValue.toString(), `${options.padding} | `)
439
428
  );
440
429
  }
441
430
  }
442
431
 
443
- if (Object.prototype.hasOwnProperty.call(this, "valueRank")) {
432
+ if (Object.hasOwn(this, "valueRank")) {
444
433
  if (this.valueRank !== undefined) {
445
434
  options.add(
446
- options.padding + chalk.yellow(" valueRank : ") + " " + valueRankToString(this.valueRank)
435
+ `${options.padding + chalk.yellow(" valueRank : ")} ${valueRankToString(this.valueRank)}`
447
436
  );
448
437
  } else {
449
- options.add(options.padding + chalk.yellow(" valueRank : ") + " undefined");
438
+ options.add(`${options.padding + chalk.yellow(" valueRank : ")} undefined`);
450
439
  }
451
440
  }
452
441
  if (this.minimumSamplingInterval !== undefined) {
453
442
  options.add(
454
- options.padding +
455
- chalk.yellow(" minimumSamplingInterval : ") +
456
- " " +
457
- this.minimumSamplingInterval.toString() +
458
- " ms"
443
+ `${options.padding + chalk.yellow(" minimumSamplingInterval : ")} ${this.minimumSamplingInterval.toString()} ms`
459
444
  );
460
445
  }
461
446
  if (this.arrayDimensions) {
462
447
  options.add(
463
- options.padding +
464
- chalk.yellow(" arrayDimension : ") +
465
- " [" +
466
- this.arrayDimensions.join(",").toString() +
467
- " ]"
448
+ `${options.padding + chalk.yellow(" arrayDimension : ")} [${this.arrayDimensions.join(",").toString()} ]`
468
449
  );
469
450
  }
470
451
  }
@@ -636,15 +617,15 @@ function _clone_collection_new(
636
617
  // it may happen that the xml nodeset2 file was malformed
637
618
 
638
619
  // c8 ignore next
639
- if (typeof (node as any).clone !== "function") {
620
+ if (typeof node.clone !== "function") {
640
621
  // tslint:disable-next-line:no-console
641
622
  warningLog(
642
623
  chalk.red("Warning : cannot clone node ") +
643
- fullPath2(node) +
644
- " of class " +
645
- NodeClass[node.nodeClass].toString() +
646
- " while cloning " +
647
- fullPath2(newParent)
624
+ fullPath2(node) +
625
+ " of class " +
626
+ NodeClass[node.nodeClass].toString() +
627
+ " while cloning " +
628
+ fullPath2(newParent)
648
629
  );
649
630
  continue;
650
631
  }
@@ -660,7 +641,7 @@ function _clone_collection_new(
660
641
  doTrace && traceLog(extraInfo.pad(), "skipping optional that doesn't appear in the filter", fullPath2(node));
661
642
  continue; // skip this node
662
643
  }
663
- const key = newParent.nodeId.toString() + "(" + newParent.browseName.toString() + ")" + "/" + node.browseName.toString();
644
+ const key = `${newParent.nodeId.toString()}(${newParent.browseName.toString()})/${node.browseName.toString()}`;
664
645
  if (browseNameMap?.has(key)) {
665
646
  _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModellingRules, optionalFilter, extraInfo);
666
647
  doTrace &&
@@ -743,7 +724,7 @@ function _clone_collection_new(
743
724
  extraInfo.pad(),
744
725
  " cloned nodeId",
745
726
  clonedNode.nodeId.toString(),
746
- fullPath2(clonedNode) + ""
727
+ `${fullPath2(clonedNode)}`
747
728
  );
748
729
 
749
730
  extraInfo.level++;
@@ -839,7 +820,7 @@ function _extractInterfaces2(typeDefinitionNode: UAObjectType | UAVariableType,
839
820
 
840
821
  function _cloneInterface(
841
822
  nodeToClone: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
842
- newParent: BaseNode,
823
+ _newParent: BaseNode,
843
824
  node: UAObject | UAVariable | UAMethod,
844
825
  optionalFilter: CloneFilter,
845
826
  extraInfo: CloneExtraInfo,
@@ -884,8 +865,8 @@ function _cloneInterface(
884
865
  traceLog(
885
866
  extraInfo.pad(),
886
867
  chalk.magentaBright(" interface ", iface.browseName.toString()),
887
- "\n" + extraInfo?.pad(),
888
- aggregates.map((r) => r.toString({ addressSpace })).join("\n" + extraInfo?.pad())
868
+ `\n${extraInfo?.pad()}`,
869
+ aggregates.map((r) => r.toString({ addressSpace })).join(`\n${extraInfo?.pad()}`)
889
870
  );
890
871
  _clone_collection_new(nodeToClone, node, aggregates, false, localFilter, extraInfo, browseNameMap);
891
872
  }
@@ -919,6 +900,50 @@ function __clone_children_references(
919
900
  _clone_collection_new(nodeToClone, newParent, aggregatesRef, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
920
901
  }
921
902
 
903
+ function __clone_interfaces_related_references(
904
+ nodeToClone: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
905
+ newParent: UAObject | UAVariable | UAMethod,
906
+ copyAlsoModellingRules: boolean,
907
+ optionalFilter: CloneFilter,
908
+ extraInfo: CloneExtraInfo,
909
+ browseNameMap: Set<string>
910
+ ): void {
911
+ // find all references that derives from the HasInterface
912
+ const hasInterfaceRef = nodeToClone.findReferencesEx("HasInterface", BrowseDirection.Forward);
913
+ if (hasInterfaceRef.length === 0) return;
914
+ for (const ref of hasInterfaceRef) {
915
+ let typeDefinitionNode = ReferenceImpl.resolveReferenceNode(nodeToClone.addressSpace, ref) as UAObjectType | null;
916
+ if (!typeDefinitionNode) {
917
+ continue;
918
+ }
919
+ if (doTrace)
920
+ traceLog(
921
+ extraInfo?.pad(),
922
+ chalk.blueBright(
923
+ newParent.browseName.toString(),
924
+ "-----> Exploring interface ",
925
+ typeDefinitionNode.browseName.toString()
926
+ )
927
+ );
928
+ while (typeDefinitionNode) {
929
+ // c8 ignore next
930
+ doTrace &&
931
+ traceLog(
932
+ extraInfo?.pad(),
933
+ chalk.blueBright(newParent.browseName.toString(), "-----> Exploring ", typeDefinitionNode.browseName.toString())
934
+ );
935
+ __clone_children_references(
936
+ typeDefinitionNode,
937
+ newParent,
938
+ copyAlsoModellingRules,
939
+ optionalFilter,
940
+ extraInfo,
941
+ browseNameMap
942
+ );
943
+ typeDefinitionNode = typeDefinitionNode.subtypeOfObj;
944
+ }
945
+ }
946
+ }
922
947
  export function _clone_hierarchical_references(
923
948
  nodeToClone: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
924
949
  newParent: UAObject | UAVariable | UAMethod,
@@ -929,6 +954,7 @@ export function _clone_hierarchical_references(
929
954
  ) {
930
955
  __clone_children_references(nodeToClone, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
931
956
  __clone_organizes_references(nodeToClone, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
957
+ // __clone_interfaces_related_references(nodeToClone, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
932
958
  }
933
959
  export function _clone_non_hierarchical_references(
934
960
  nodeToClone: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
@@ -953,9 +979,9 @@ export function _clone_non_hierarchical_references(
953
979
 
954
980
  * @private
955
981
  */
956
- export function _clone<T extends UAObject | UAVariable | UAMethod>(
982
+ export function _clone<T extends UAObject | UAVariable | UAMethod, O>(
957
983
  originalNode: T,
958
- Constructor: new (options: any) => T,
984
+ Constructor: new (options: O) => T,
959
985
  options: CloneOptions,
960
986
  optionalFilter: CloneFilter,
961
987
  extraInfo: CloneExtraInfo
@@ -965,9 +991,8 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
965
991
  assert(
966
992
  !extraInfo || (extraInfo !== null && typeof extraInfo === "object" && typeof extraInfo.registerClonedObject === "function")
967
993
  );
968
- assert(!(originalNode as any).subtypeOf, "We do not do cloning of Type yet");
969
994
  const namespace = options.namespace;
970
- const constructorOptions: any = {
995
+ const constructorOptions = {
971
996
  ...options,
972
997
  addressSpace: namespace.addressSpace,
973
998
  browseName: originalNode.browseName,
@@ -1010,7 +1035,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
1010
1035
 
1011
1036
  assert(constructorOptions.nodeId instanceof NodeId);
1012
1037
 
1013
- const clonedNode = new Constructor(constructorOptions);
1038
+ const clonedNode = new Constructor(constructorOptions as unknown as O);
1014
1039
  (originalNode.addressSpace as AddressSpacePrivate)._register(clonedNode);
1015
1040
 
1016
1041
  extraInfo.registerClonedObject({
@@ -1029,7 +1054,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
1029
1054
  originalNode,
1030
1055
  clonedNode,
1031
1056
  options.copyAlsoModellingRules,
1032
- newFilter!,
1057
+ newFilter,
1033
1058
  extraInfo,
1034
1059
  browseNameMap
1035
1060
  );
@@ -1065,7 +1090,6 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
1065
1090
  }
1066
1091
 
1067
1092
  extraInfo.popContext();
1068
-
1069
1093
  }
1070
1094
  _clone_non_hierarchical_references(
1071
1095
  originalNode,
@@ -1082,11 +1106,10 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
1082
1106
  return clonedNode;
1083
1107
  }
1084
1108
 
1085
- function _add(_childByNameMap: HierarchicalIndexMap, reference: UAReferenceWithNodeRef)
1086
- {
1087
- assert(reference.node);// const targetNode = ReferenceImpl.resolveReferenceNode(addressSpace, reference);
1109
+ function _add(_childByNameMap: HierarchicalIndexMap, reference: UAReferenceWithNodeRef) {
1110
+ assert(reference.node); // const targetNode = ReferenceImpl.resolveReferenceNode(addressSpace, reference);
1088
1111
  const targetNode = reference.node;
1089
- const hash = targetNode.browseName!.name || "";
1112
+ const hash = targetNode.browseName?.name || "";
1090
1113
  const existing = _childByNameMap.get(hash);
1091
1114
  if (existing) {
1092
1115
  if (Array.isArray(existing)) {
@@ -1100,18 +1123,24 @@ function _add(_childByNameMap: HierarchicalIndexMap, reference: UAReferenceWithN
1100
1123
  }
1101
1124
 
1102
1125
  function sameRef(a: UAReference, b: UAReference) {
1103
- if (a.isForward != b.isForward) return false;
1126
+ if (a.isForward !== b.isForward) return false;
1104
1127
  if (!sameNodeId(a.nodeId, b.nodeId)) return false;
1105
1128
  if (!sameNodeId(a.referenceType, b.referenceType)) return false;
1106
1129
  return true;
1107
1130
  }
1108
1131
  function _remove(_childByNameMap: HierarchicalIndexMap, reference: UAReferenceWithNodeRef) {
1109
-
1110
1132
  const target = reference.node;
1111
1133
  const hash = target.browseName.name || "";
1112
1134
  const existing = _childByNameMap.get(hash);
1113
1135
  if (Array.isArray(existing)) {
1114
- existing.filter(r=>!sameRef(r, reference));
1136
+ const remaining = existing.filter((r) => !sameRef(r, reference));
1137
+ if (remaining.length === 0) {
1138
+ _childByNameMap.delete(hash);
1139
+ } else if (remaining.length === 1) {
1140
+ _childByNameMap.set(hash, remaining[0]);
1141
+ } else {
1142
+ _childByNameMap.set(hash, remaining);
1143
+ }
1115
1144
  } else {
1116
1145
  _childByNameMap.delete(hash);
1117
1146
  }
@@ -1125,9 +1154,11 @@ export function _handle_HierarchicalReference(node: BaseNode, reference: UARefer
1125
1154
 
1126
1155
  if (referenceType) {
1127
1156
  const HierarchicalReferencesType = addressSpace.findReferenceType("HierarchicalReferences");
1128
- if (referenceType.isSubtypeOf(HierarchicalReferencesType!)) {
1157
+ if (!HierarchicalReferencesType) return;
1158
+
1159
+ if (referenceType.isSubtypeOf(HierarchicalReferencesType)) {
1129
1160
  ReferenceImpl.resolveReferenceNode(addressSpace, reference);
1130
- _add(_private._childByNameMap, reference as UAReferenceWithNodeRef)
1161
+ _add(_private._childByNameMap, reference as UAReferenceWithNodeRef);
1131
1162
  }
1132
1163
  }
1133
1164
  }
@@ -1139,13 +1170,12 @@ export function _get_HierarchicalReference(node: BaseNode): HierarchicalIndexMap
1139
1170
  if (!_private._childByNameMap) {
1140
1171
  _private._childByNameMap = new Map();
1141
1172
  const references = node.findReferencesEx("HierarchicalReferences");
1142
- for (var reference of references) {
1173
+ for (const reference of references) {
1143
1174
  ReferenceImpl.resolveReferenceNode(addressSpace, reference);
1144
1175
  _add(_private._childByNameMap, reference as UAReferenceWithNodeRef);
1145
1176
  }
1146
1177
  }
1147
1178
  return _private._childByNameMap;
1148
-
1149
1179
  }
1150
1180
  export function _remove_HierarchicalReference(node: BaseNodeImpl, reference: UAReference) {
1151
1181
  const _private = BaseNode_getPrivate(node);
@@ -1155,8 +1185,7 @@ export function _remove_HierarchicalReference(node: BaseNodeImpl, reference: UAR
1155
1185
 
1156
1186
  if (referenceType) {
1157
1187
  const HierarchicalReferencesType = addressSpace.findReferenceType("HierarchicalReferences");
1158
- if (referenceType.isSubtypeOf(HierarchicalReferencesType!)) {
1159
-
1188
+ if (HierarchicalReferencesType && referenceType.isSubtypeOf(HierarchicalReferencesType)) {
1160
1189
  ReferenceImpl.resolveReferenceNode(addressSpace, reference);
1161
1190
  _remove(_private._childByNameMap, reference as UAReferenceWithNodeRef);
1162
1191
  }
@@ -1170,32 +1199,37 @@ function _makeReferenceDescription(addressSpace: IAddressSpace, reference: UARef
1170
1199
  const referenceTypeId = ReferenceImpl.resolveReferenceType(addressSpace, reference).nodeId;
1171
1200
  assert(referenceTypeId instanceof NodeId);
1172
1201
 
1173
- const obj = ReferenceImpl.resolveReferenceNode(addressSpace, reference) as any;
1202
+ const obj = ReferenceImpl.resolveReferenceNode(addressSpace, reference);
1174
1203
 
1175
- let data: any = {};
1204
+ let data: ReferenceDescriptionOptions = {};
1176
1205
 
1177
1206
  if (!obj) {
1178
1207
  // cannot find reference node
1179
1208
  data = {
1180
1209
  isForward,
1181
- nodeId: reference.nodeId,
1210
+ nodeId: reference.nodeId as ExpandedNodeId,
1182
1211
  referenceTypeId: resultMask & ResultMask.ReferenceType ? referenceTypeId : null,
1183
- typeDefinition: null
1212
+ typeDefinition: undefined
1184
1213
  };
1185
1214
  } else {
1215
+ const obj2 = obj;
1216
+
1217
+ const objOrVar =
1218
+ obj2.nodeClass === NodeClass.Object || obj2.nodeClass === NodeClass.Variable ? (obj2 as UAVariable | UAObject) : null;
1219
+
1186
1220
  assert(reference.nodeId, " obj.nodeId");
1187
1221
  data = {
1188
1222
  browseName: resultMask & ResultMask.BrowseName ? coerceQualifiedName(obj.browseName) : null,
1189
1223
  displayName: resultMask & ResultMask.DisplayName ? coerceLocalizedText(obj.displayName[0]) : null,
1190
1224
  isForward: resultMask & ResultMask.IsForward ? isForward : false,
1191
1225
  nodeClass: resultMask & ResultMask.NodeClass ? obj.nodeClass : NodeClass.Unspecified,
1192
- nodeId: obj.nodeId,
1226
+ nodeId: obj.nodeId as ExpandedNodeId,
1193
1227
  referenceTypeId: resultMask & ResultMask.ReferenceType ? referenceTypeId : null,
1194
- typeDefinition: resultMask & ResultMask.TypeDefinition ? obj.typeDefinition : null
1228
+ typeDefinition: resultMask & ResultMask.TypeDefinition ? (objOrVar?.typeDefinition as ExpandedNodeId) : undefined
1195
1229
  };
1196
1230
  }
1197
1231
  if (data.typeDefinition === null) {
1198
- data.typeDefinition = new NodeId();
1232
+ data.typeDefinition = ExpandedNodeId.nullNodeId as ExpandedNodeId;
1199
1233
  }
1200
1234
  const referenceDescription = new ReferenceDescription(data);
1201
1235
  return referenceDescription;
@@ -1240,16 +1274,14 @@ export function BaseNode_add_backward_reference(this: BaseNodeImpl, reference: U
1240
1274
  warningLog(" Warning !", this.browseName.toString());
1241
1275
  warningLog(" ", reference.toString(opts));
1242
1276
  warningLog(" already found in ===>");
1243
- warningLog(
1244
- [..._private._back_referenceIdx.values()].map((c: UAReference) => c.toString(opts)).join("\n")
1245
- );
1277
+ warningLog([..._private._back_referenceIdx.values()].map((c: UAReference) => c.toString(opts)).join("\n"));
1246
1278
  // tslint:disable-next-line:no-console
1247
1279
  warningLog("===>");
1248
1280
  throw new Error("reference exists already in _back_references");
1249
1281
  }
1250
1282
 
1251
1283
  if (!getReferenceType(reference)) {
1252
- const stop_here = 1;
1284
+ const _stop_here = 1;
1253
1285
  }
1254
1286
  // assert(reference._referenceType instanceof ReferenceType);
1255
1287
  _private._back_referenceIdx.set(h, reference);