node-opcua-address-space 2.183.0 → 2.184.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 (747) hide show
  1. package/api/helpers/adjust_browse_direction.ts +1 -1
  2. package/api/helpers/argument_list.ts +9 -9
  3. package/api/helpers/coerce_enum_value.ts +1 -0
  4. package/api/helpers/dump_tools.ts +1 -1
  5. package/api/index.ts +2 -1
  6. package/api/interfaces/alarms_and_conditions/deviation_stuff.ts +30 -0
  7. package/api/interfaces/data_access/ua_multistate_discrete_ex.ts +1 -1
  8. package/api/interfaces/nodeset_loader_options.ts +17 -0
  9. package/api/loader/decode_xml_extension_object.ts +1 -1
  10. package/api/loader/ensure_datatype_extracted.ts +73 -37
  11. package/api/loader/generateAddressSpaceRaw.ts +32 -22
  12. package/api/loader/load_nodeset2.ts +2 -2
  13. package/api/loader/namespace_post_step.ts +1 -1
  14. package/api/loader/narrow_instance_datatypes.ts +22 -9
  15. package/api/loader/nodeset_image_codec.ts +26 -12
  16. package/api/loader/nodeset_record_applier.ts +1 -1
  17. package/api/loader/nodeset_xml_producer.ts +8 -6
  18. package/api/loader/parsers/extension_object_parser.ts +3 -3
  19. package/api/loader/register_node_promoter.ts +10 -2
  20. package/api/pseudo_session.ts +1 -1
  21. package/bin/{nodeset_equivalence.js → nodeset_equivalence.cjs} +1 -1
  22. package/bin/{opcua-nodeset-image.js → opcua-nodeset-image.cjs} +1 -1
  23. package/bin/{opcua-nodeset-live.js → opcua-nodeset-live.cjs} +2 -2
  24. package/dist/api/address_space_public.d.ts +1 -0
  25. package/dist/api/address_space_public.d.ts.map +1 -0
  26. package/dist/api/address_space_public.js +2 -5
  27. package/dist/api/address_space_public.js.map +1 -1
  28. package/dist/api/address_space_ts.d.ts +1 -0
  29. package/dist/api/address_space_ts.d.ts.map +1 -0
  30. package/dist/api/address_space_ts.js +2 -5
  31. package/dist/api/address_space_ts.js.map +1 -1
  32. package/dist/api/continuation_points/continuation_point_manager.d.ts +1 -0
  33. package/dist/api/continuation_points/continuation_point_manager.d.ts.map +1 -0
  34. package/dist/api/continuation_points/continuation_point_manager.js +13 -17
  35. package/dist/api/continuation_points/continuation_point_manager.js.map +1 -1
  36. package/dist/api/helpers/adjust_browse_direction.d.ts +1 -0
  37. package/dist/api/helpers/adjust_browse_direction.d.ts.map +1 -0
  38. package/dist/api/helpers/adjust_browse_direction.js +2 -5
  39. package/dist/api/helpers/adjust_browse_direction.js.map +1 -1
  40. package/dist/api/helpers/argument_list.d.ts +1 -0
  41. package/dist/api/helpers/argument_list.d.ts.map +1 -0
  42. package/dist/api/helpers/argument_list.js +61 -69
  43. package/dist/api/helpers/argument_list.js.map +1 -1
  44. package/dist/api/helpers/call_helpers.d.ts +1 -0
  45. package/dist/api/helpers/call_helpers.d.ts.map +1 -0
  46. package/dist/api/helpers/call_helpers.js +25 -28
  47. package/dist/api/helpers/call_helpers.js.map +1 -1
  48. package/dist/api/helpers/coerce_enum_value.d.ts +1 -0
  49. package/dist/api/helpers/coerce_enum_value.d.ts.map +1 -0
  50. package/dist/api/helpers/coerce_enum_value.js +15 -17
  51. package/dist/api/helpers/coerce_enum_value.js.map +1 -1
  52. package/dist/api/helpers/dump_tools.d.ts +1 -0
  53. package/dist/api/helpers/dump_tools.d.ts.map +1 -0
  54. package/dist/api/helpers/dump_tools.js +19 -29
  55. package/dist/api/helpers/dump_tools.js.map +1 -1
  56. package/dist/api/helpers/ensure_secure_access.d.ts +1 -0
  57. package/dist/api/helpers/ensure_secure_access.d.ts.map +1 -0
  58. package/dist/api/helpers/ensure_secure_access.js +24 -28
  59. package/dist/api/helpers/ensure_secure_access.js.map +1 -1
  60. package/dist/api/helpers/make_optionals_map.d.ts +1 -0
  61. package/dist/api/helpers/make_optionals_map.d.ts.map +1 -0
  62. package/dist/api/helpers/make_optionals_map.js +1 -4
  63. package/dist/api/helpers/make_optionals_map.js.map +1 -1
  64. package/dist/api/helpers/multiform_func.d.ts +1 -0
  65. package/dist/api/helpers/multiform_func.d.ts.map +1 -0
  66. package/dist/api/helpers/multiform_func.js +4 -8
  67. package/dist/api/helpers/multiform_func.js.map +1 -1
  68. package/dist/api/helpers/resolve_opaque_on_address_space.d.ts +1 -0
  69. package/dist/api/helpers/resolve_opaque_on_address_space.d.ts.map +1 -0
  70. package/dist/api/helpers/resolve_opaque_on_address_space.js +10 -13
  71. package/dist/api/helpers/resolve_opaque_on_address_space.js.map +1 -1
  72. package/dist/api/index.d.ts +3 -1
  73. package/dist/api/index.d.ts.map +1 -0
  74. package/dist/api/index.js +93 -218
  75. package/dist/api/index.js.map +1 -1
  76. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.d.ts +1 -0
  77. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.d.ts.map +1 -0
  78. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.js +2 -5
  79. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -1
  80. package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.d.ts +1 -0
  81. package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.d.ts.map +1 -0
  82. package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.js +1 -2
  83. package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.d.ts +29 -0
  84. package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.d.ts.map +1 -0
  85. package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.js +1 -2
  86. package/dist/api/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +1 -0
  87. package/dist/api/interfaces/alarms_and_conditions/install_setpoint_options.d.ts.map +1 -0
  88. package/dist/api/interfaces/alarms_and_conditions/install_setpoint_options.js +1 -2
  89. package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +1 -0
  90. package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts.map +1 -0
  91. package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +1 -2
  92. package/dist/api/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +1 -0
  93. package/dist/api/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts.map +1 -0
  94. package/dist/api/interfaces/alarms_and_conditions/instantiate_condition_options.js +1 -2
  95. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +1 -0
  96. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts.map +1 -0
  97. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +1 -2
  98. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +1 -0
  99. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts.map +1 -0
  100. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +1 -2
  101. package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +1 -0
  102. package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts.map +1 -0
  103. package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +1 -2
  104. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +1 -0
  105. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts.map +1 -0
  106. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +1 -2
  107. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +1 -0
  108. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts.map +1 -0
  109. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +1 -2
  110. package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +1 -0
  111. package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts.map +1 -0
  112. package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +1 -2
  113. package/dist/api/interfaces/alarms_and_conditions/promote_to_alarm_options.d.ts +1 -0
  114. package/dist/api/interfaces/alarms_and_conditions/promote_to_alarm_options.d.ts.map +1 -0
  115. package/dist/api/interfaces/alarms_and_conditions/promote_to_alarm_options.js +1 -2
  116. package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +1 -0
  117. package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts.map +1 -0
  118. package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +1 -2
  119. package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +1 -0
  120. package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts.map +1 -0
  121. package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +1 -2
  122. package/dist/api/interfaces/alarms_and_conditions/ua_base_event_ex.d.ts +1 -0
  123. package/dist/api/interfaces/alarms_and_conditions/ua_base_event_ex.d.ts.map +1 -0
  124. package/dist/api/interfaces/alarms_and_conditions/ua_base_event_ex.js +1 -2
  125. package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +1 -0
  126. package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts.map +1 -0
  127. package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +1 -2
  128. package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +1 -0
  129. package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.d.ts.map +1 -0
  130. package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.js +1 -2
  131. package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +1 -0
  132. package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts.map +1 -0
  133. package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +1 -2
  134. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +1 -0
  135. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts.map +1 -0
  136. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +1 -2
  137. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +1 -0
  138. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts.map +1 -0
  139. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +1 -2
  140. package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +1 -0
  141. package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts.map +1 -0
  142. package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +1 -2
  143. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +1 -0
  144. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts.map +1 -0
  145. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +1 -2
  146. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +1 -0
  147. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts.map +1 -0
  148. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +1 -2
  149. package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.d.ts +2 -1
  150. package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.d.ts.map +1 -0
  151. package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.js +1 -2
  152. package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +1 -0
  153. package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts.map +1 -0
  154. package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.js +1 -2
  155. package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.d.ts +1 -0
  156. package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.d.ts.map +1 -0
  157. package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.js +1 -2
  158. package/dist/api/interfaces/data_access/ua_y_array_item_ex.d.ts +1 -0
  159. package/dist/api/interfaces/data_access/ua_y_array_item_ex.d.ts.map +1 -0
  160. package/dist/api/interfaces/data_access/ua_y_array_item_ex.js +1 -2
  161. package/dist/api/interfaces/extension_object_constructor.d.ts +1 -0
  162. package/dist/api/interfaces/extension_object_constructor.d.ts.map +1 -0
  163. package/dist/api/interfaces/extension_object_constructor.js +1 -2
  164. package/dist/api/interfaces/i_condition_variable_type_setter_options.d.ts +1 -0
  165. package/dist/api/interfaces/i_condition_variable_type_setter_options.d.ts.map +1 -0
  166. package/dist/api/interfaces/i_condition_variable_type_setter_options.js +1 -2
  167. package/dist/api/interfaces/i_set_state_options.d.ts +1 -0
  168. package/dist/api/interfaces/i_set_state_options.d.ts.map +1 -0
  169. package/dist/api/interfaces/i_set_state_options.js +1 -2
  170. package/dist/api/interfaces/nodeset_loader_options.d.ts +18 -0
  171. package/dist/api/interfaces/nodeset_loader_options.d.ts.map +1 -0
  172. package/dist/api/interfaces/nodeset_loader_options.js +1 -2
  173. package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +1 -0
  174. package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts.map +1 -0
  175. package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +1 -2
  176. package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.d.ts +1 -0
  177. package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.d.ts.map +1 -0
  178. package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.js +1 -2
  179. package/dist/api/interfaces/state_machine/ua_program_state_machine_type.d.ts +1 -0
  180. package/dist/api/interfaces/state_machine/ua_program_state_machine_type.d.ts.map +1 -0
  181. package/dist/api/interfaces/state_machine/ua_program_state_machine_type.js +1 -2
  182. package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +1 -0
  183. package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts.map +1 -0
  184. package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.js +1 -2
  185. package/dist/api/interfaces/state_machine/ua_state_machine_type.d.ts +1 -0
  186. package/dist/api/interfaces/state_machine/ua_state_machine_type.d.ts.map +1 -0
  187. package/dist/api/interfaces/state_machine/ua_state_machine_type.js +1 -2
  188. package/dist/api/interfaces/state_machine/ua_state_machine_type.js.map +1 -1
  189. package/dist/api/interfaces/state_machine/ua_transition_ex.d.ts +1 -0
  190. package/dist/api/interfaces/state_machine/ua_transition_ex.d.ts.map +1 -0
  191. package/dist/api/interfaces/state_machine/ua_transition_ex.js +1 -2
  192. package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +1 -0
  193. package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.d.ts.map +1 -0
  194. package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.js +1 -2
  195. package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -1
  196. package/dist/api/loader/decode_xml_extension_object.d.ts +1 -0
  197. package/dist/api/loader/decode_xml_extension_object.d.ts.map +1 -0
  198. package/dist/api/loader/decode_xml_extension_object.js +13 -17
  199. package/dist/api/loader/decode_xml_extension_object.js.map +1 -1
  200. package/dist/api/loader/ensure_datatype_extracted.d.ts +1 -0
  201. package/dist/api/loader/ensure_datatype_extracted.d.ts.map +1 -0
  202. package/dist/api/loader/ensure_datatype_extracted.js +83 -52
  203. package/dist/api/loader/ensure_datatype_extracted.js.map +1 -1
  204. package/dist/api/loader/generateAddressSpaceRaw.d.ts +1 -0
  205. package/dist/api/loader/generateAddressSpaceRaw.d.ts.map +1 -0
  206. package/dist/api/loader/generateAddressSpaceRaw.js +76 -74
  207. package/dist/api/loader/generateAddressSpaceRaw.js.map +1 -1
  208. package/dist/api/loader/load_nodeset2.d.ts +1 -0
  209. package/dist/api/loader/load_nodeset2.d.ts.map +1 -0
  210. package/dist/api/loader/load_nodeset2.js +44 -51
  211. package/dist/api/loader/load_nodeset2.js.map +1 -1
  212. package/dist/api/loader/make_semver_compatible.d.ts +1 -0
  213. package/dist/api/loader/make_semver_compatible.d.ts.map +1 -0
  214. package/dist/api/loader/make_semver_compatible.js +1 -4
  215. package/dist/api/loader/make_semver_compatible.js.map +1 -1
  216. package/dist/api/loader/make_xml_extension_object_parser.d.ts +1 -0
  217. package/dist/api/loader/make_xml_extension_object_parser.d.ts.map +1 -0
  218. package/dist/api/loader/make_xml_extension_object_parser.js +37 -40
  219. package/dist/api/loader/make_xml_extension_object_parser.js.map +1 -1
  220. package/dist/api/loader/namespace_post_step.d.ts +1 -0
  221. package/dist/api/loader/namespace_post_step.d.ts.map +1 -0
  222. package/dist/api/loader/namespace_post_step.js +12 -17
  223. package/dist/api/loader/namespace_post_step.js.map +1 -1
  224. package/dist/api/loader/narrow_instance_datatypes.d.ts +1 -0
  225. package/dist/api/loader/narrow_instance_datatypes.d.ts.map +1 -0
  226. package/dist/api/loader/narrow_instance_datatypes.js +38 -28
  227. package/dist/api/loader/narrow_instance_datatypes.js.map +1 -1
  228. package/dist/api/loader/nodeset_builtin_formats.d.ts +1 -0
  229. package/dist/api/loader/nodeset_builtin_formats.d.ts.map +1 -0
  230. package/dist/api/loader/nodeset_builtin_formats.js +20 -25
  231. package/dist/api/loader/nodeset_builtin_formats.js.map +1 -1
  232. package/dist/api/loader/nodeset_format.d.ts +1 -0
  233. package/dist/api/loader/nodeset_format.d.ts.map +1 -0
  234. package/dist/api/loader/nodeset_format.js +4 -10
  235. package/dist/api/loader/nodeset_format.js.map +1 -1
  236. package/dist/api/loader/nodeset_image.d.ts +1 -0
  237. package/dist/api/loader/nodeset_image.d.ts.map +1 -0
  238. package/dist/api/loader/nodeset_image.js +38 -54
  239. package/dist/api/loader/nodeset_image.js.map +1 -1
  240. package/dist/api/loader/nodeset_image_codec.d.ts +1 -0
  241. package/dist/api/loader/nodeset_image_codec.d.ts.map +1 -0
  242. package/dist/api/loader/nodeset_image_codec.js +118 -116
  243. package/dist/api/loader/nodeset_image_codec.js.map +1 -1
  244. package/dist/api/loader/nodeset_image_store.d.ts +1 -0
  245. package/dist/api/loader/nodeset_image_store.d.ts.map +1 -0
  246. package/dist/api/loader/nodeset_image_store.js +5 -11
  247. package/dist/api/loader/nodeset_image_store.js.map +1 -1
  248. package/dist/api/loader/nodeset_record.d.ts +1 -0
  249. package/dist/api/loader/nodeset_record.d.ts.map +1 -0
  250. package/dist/api/loader/nodeset_record.js +3 -7
  251. package/dist/api/loader/nodeset_record.js.map +1 -1
  252. package/dist/api/loader/nodeset_record_applier.d.ts +1 -0
  253. package/dist/api/loader/nodeset_record_applier.d.ts.map +1 -0
  254. package/dist/api/loader/nodeset_record_applier.js +89 -97
  255. package/dist/api/loader/nodeset_record_applier.js.map +1 -1
  256. package/dist/api/loader/nodeset_records_to_xml.d.ts +1 -0
  257. package/dist/api/loader/nodeset_records_to_xml.d.ts.map +1 -0
  258. package/dist/api/loader/nodeset_records_to_xml.js +82 -88
  259. package/dist/api/loader/nodeset_records_to_xml.js.map +1 -1
  260. package/dist/api/loader/nodeset_source.d.ts +1 -0
  261. package/dist/api/loader/nodeset_source.d.ts.map +1 -0
  262. package/dist/api/loader/nodeset_source.js +14 -21
  263. package/dist/api/loader/nodeset_source.js.map +1 -1
  264. package/dist/api/loader/nodeset_source_helpers.d.ts +1 -0
  265. package/dist/api/loader/nodeset_source_helpers.d.ts.map +1 -0
  266. package/dist/api/loader/nodeset_source_helpers.js +2 -6
  267. package/dist/api/loader/nodeset_source_helpers.js.map +1 -1
  268. package/dist/api/loader/nodeset_to_image.d.ts +1 -0
  269. package/dist/api/loader/nodeset_to_image.d.ts.map +1 -0
  270. package/dist/api/loader/nodeset_to_image.js +12 -15
  271. package/dist/api/loader/nodeset_to_image.js.map +1 -1
  272. package/dist/api/loader/nodeset_xml_header.d.ts +1 -0
  273. package/dist/api/loader/nodeset_xml_header.d.ts.map +1 -0
  274. package/dist/api/loader/nodeset_xml_header.js +9 -14
  275. package/dist/api/loader/nodeset_xml_header.js.map +1 -1
  276. package/dist/api/loader/nodeset_xml_primitives.d.ts +1 -0
  277. package/dist/api/loader/nodeset_xml_primitives.d.ts.map +1 -0
  278. package/dist/api/loader/nodeset_xml_primitives.js +32 -53
  279. package/dist/api/loader/nodeset_xml_primitives.js.map +1 -1
  280. package/dist/api/loader/nodeset_xml_producer.d.ts +1 -0
  281. package/dist/api/loader/nodeset_xml_producer.d.ts.map +1 -0
  282. package/dist/api/loader/nodeset_xml_producer.js +49 -51
  283. package/dist/api/loader/nodeset_xml_producer.js.map +1 -1
  284. package/dist/api/loader/parsers/extension_object_parser.d.ts +1 -0
  285. package/dist/api/loader/parsers/extension_object_parser.d.ts.map +1 -0
  286. package/dist/api/loader/parsers/extension_object_parser.js +49 -57
  287. package/dist/api/loader/parsers/extension_object_parser.js.map +1 -1
  288. package/dist/api/loader/parsers/localized_text_parser.d.ts +1 -0
  289. package/dist/api/loader/parsers/localized_text_parser.d.ts.map +1 -0
  290. package/dist/api/loader/parsers/localized_text_parser.js +3 -6
  291. package/dist/api/loader/parsers/localized_text_parser.js.map +1 -1
  292. package/dist/api/loader/parsers/nodeid_parser.d.ts +1 -0
  293. package/dist/api/loader/parsers/nodeid_parser.d.ts.map +1 -0
  294. package/dist/api/loader/parsers/nodeid_parser.js +3 -7
  295. package/dist/api/loader/parsers/nodeid_parser.js.map +1 -1
  296. package/dist/api/loader/parsers/qualified_name_parser.d.ts +1 -0
  297. package/dist/api/loader/parsers/qualified_name_parser.d.ts.map +1 -0
  298. package/dist/api/loader/parsers/qualified_name_parser.js +5 -9
  299. package/dist/api/loader/parsers/qualified_name_parser.js.map +1 -1
  300. package/dist/api/loader/parsers/variant_parser.d.ts +1 -0
  301. package/dist/api/loader/parsers/variant_parser.d.ts.map +1 -0
  302. package/dist/api/loader/parsers/variant_parser.js +59 -63
  303. package/dist/api/loader/parsers/variant_parser.js.map +1 -1
  304. package/dist/api/loader/register_node_promoter.d.ts +10 -1
  305. package/dist/api/loader/register_node_promoter.d.ts.map +1 -0
  306. package/dist/api/loader/register_node_promoter.js +11 -7
  307. package/dist/api/loader/register_node_promoter.js.map +1 -1
  308. package/dist/api/namespace.d.ts +1 -0
  309. package/dist/api/namespace.d.ts.map +1 -0
  310. package/dist/api/namespace.js +1 -2
  311. package/dist/api/namespace_alarm_and_condition.d.ts +1 -0
  312. package/dist/api/namespace_alarm_and_condition.d.ts.map +1 -0
  313. package/dist/api/namespace_alarm_and_condition.js +1 -2
  314. package/dist/api/namespace_data_access.d.ts +1 -0
  315. package/dist/api/namespace_data_access.d.ts.map +1 -0
  316. package/dist/api/namespace_data_access.js +1 -2
  317. package/dist/api/namespace_machine_state.d.ts +1 -0
  318. package/dist/api/namespace_machine_state.d.ts.map +1 -0
  319. package/dist/api/namespace_machine_state.js +1 -2
  320. package/dist/api/namespace_of.d.ts +1 -0
  321. package/dist/api/namespace_of.d.ts.map +1 -0
  322. package/dist/api/namespace_of.js +1 -4
  323. package/dist/api/namespace_of.js.map +1 -1
  324. package/dist/api/pseudo_session.d.ts +1 -0
  325. package/dist/api/pseudo_session.d.ts.map +1 -0
  326. package/dist/api/pseudo_session.js +56 -62
  327. package/dist/api/pseudo_session.js.map +1 -1
  328. package/dist/api/session_context.d.ts +1 -0
  329. package/dist/api/session_context.d.ts.map +1 -0
  330. package/dist/api/session_context.js +60 -68
  331. package/dist/api/session_context.js.map +1 -1
  332. package/dist/api/set_namespace_meta_data.d.ts +1 -0
  333. package/dist/api/set_namespace_meta_data.d.ts.map +1 -0
  334. package/dist/api/set_namespace_meta_data.js +10 -13
  335. package/dist/api/set_namespace_meta_data.js.map +1 -1
  336. package/dist/api/ua_addin.d.ts +1 -0
  337. package/dist/api/ua_addin.d.ts.map +1 -0
  338. package/dist/api/ua_addin.js +9 -13
  339. package/dist/api/ua_addin.js.map +1 -1
  340. package/dist/api/ua_interface.d.ts +1 -0
  341. package/dist/api/ua_interface.d.ts.map +1 -0
  342. package/dist/api/ua_interface.js +5 -8
  343. package/dist/api/ua_interface.js.map +1 -1
  344. package/dist/api/ua_root_folder.d.ts +1 -0
  345. package/dist/api/ua_root_folder.d.ts.map +1 -0
  346. package/dist/api/ua_root_folder.js +1 -2
  347. package/dist/api/ua_two_state_variable_ex.d.ts +1 -0
  348. package/dist/api/ua_two_state_variable_ex.d.ts.map +1 -0
  349. package/dist/api/ua_two_state_variable_ex.js +1 -2
  350. package/dist/api/xml_writer.d.ts +1 -0
  351. package/dist/api/xml_writer.d.ts.map +1 -0
  352. package/dist/api/xml_writer.js +1 -2
  353. package/dist/impl/_instantiate_helpers.d.ts +1 -0
  354. package/dist/impl/_instantiate_helpers.d.ts.map +1 -0
  355. package/dist/impl/_instantiate_helpers.js +25 -31
  356. package/dist/impl/_instantiate_helpers.js.map +1 -1
  357. package/dist/impl/_mandatory_child_or_requested_optional_filter.d.ts +1 -0
  358. package/dist/impl/_mandatory_child_or_requested_optional_filter.d.ts.map +1 -0
  359. package/dist/impl/_mandatory_child_or_requested_optional_filter.js +16 -20
  360. package/dist/impl/_mandatory_child_or_requested_optional_filter.js.map +1 -1
  361. package/dist/impl/address_space.d.ts +40 -0
  362. package/dist/impl/address_space.d.ts.map +1 -0
  363. package/dist/impl/address_space.js +246 -189
  364. package/dist/impl/address_space.js.map +1 -1
  365. package/dist/impl/address_space_change_event_tools.d.ts +1 -0
  366. package/dist/impl/address_space_change_event_tools.d.ts.map +1 -0
  367. package/dist/impl/address_space_change_event_tools.js +31 -29
  368. package/dist/impl/address_space_change_event_tools.js.map +1 -1
  369. package/dist/impl/address_space_private.d.ts +2 -0
  370. package/dist/impl/address_space_private.d.ts.map +1 -0
  371. package/dist/impl/address_space_private.js +1 -2
  372. package/dist/impl/address_space_private.js.map +1 -1
  373. package/dist/impl/alarms_and_conditions/condition.d.ts +1 -0
  374. package/dist/impl/alarms_and_conditions/condition.d.ts.map +1 -0
  375. package/dist/impl/alarms_and_conditions/condition.js +1 -2
  376. package/dist/impl/alarms_and_conditions/condition.js.map +1 -1
  377. package/dist/impl/alarms_and_conditions/condition_info_impl.d.ts +1 -0
  378. package/dist/impl/alarms_and_conditions/condition_info_impl.d.ts.map +1 -0
  379. package/dist/impl/alarms_and_conditions/condition_info_impl.js +3 -7
  380. package/dist/impl/alarms_and_conditions/condition_info_impl.js.map +1 -1
  381. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.d.ts +1 -0
  382. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.d.ts.map +1 -0
  383. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js +77 -81
  384. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js.map +1 -1
  385. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.d.ts +1 -0
  386. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.d.ts.map +1 -0
  387. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js +17 -20
  388. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js.map +1 -1
  389. package/dist/impl/alarms_and_conditions/index.d.ts +1 -0
  390. package/dist/impl/alarms_and_conditions/index.d.ts.map +1 -0
  391. package/dist/impl/alarms_and_conditions/index.js +13 -29
  392. package/dist/impl/alarms_and_conditions/index.js.map +1 -1
  393. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +1 -0
  394. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts.map +1 -0
  395. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +60 -65
  396. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  397. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.d.ts +1 -0
  398. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.d.ts.map +1 -0
  399. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js +53 -59
  400. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  401. package/dist/impl/alarms_and_conditions/ua_base_event_impl.d.ts +1 -0
  402. package/dist/impl/alarms_and_conditions/ua_base_event_impl.d.ts.map +1 -0
  403. package/dist/impl/alarms_and_conditions/ua_base_event_impl.js +12 -16
  404. package/dist/impl/alarms_and_conditions/ua_base_event_impl.js.map +1 -1
  405. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +1 -0
  406. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts.map +1 -0
  407. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +34 -39
  408. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  409. package/dist/impl/alarms_and_conditions/ua_condition_impl.d.ts +1 -0
  410. package/dist/impl/alarms_and_conditions/ua_condition_impl.d.ts.map +1 -0
  411. package/dist/impl/alarms_and_conditions/ua_condition_impl.js +140 -148
  412. package/dist/impl/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  413. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +1 -0
  414. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.d.ts.map +1 -0
  415. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js +6 -10
  416. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  417. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +9 -0
  418. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts.map +1 -0
  419. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +28 -22
  420. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  421. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +1 -0
  422. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts.map +1 -0
  423. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +3 -7
  424. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  425. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +1 -0
  426. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts.map +1 -0
  427. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +14 -18
  428. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  429. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +1 -0
  430. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts.map +1 -0
  431. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +2 -6
  432. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -1
  433. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.d.ts +1 -0
  434. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.d.ts.map +1 -0
  435. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js +35 -39
  436. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  437. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +9 -0
  438. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts.map +1 -0
  439. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +27 -21
  440. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  441. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +1 -0
  442. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts.map +1 -0
  443. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +27 -31
  444. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  445. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +1 -0
  446. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts.map +1 -0
  447. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js +18 -22
  448. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  449. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +1 -0
  450. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts.map +1 -0
  451. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +3 -7
  452. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  453. package/dist/impl/apply_condition_refresh.d.ts +1 -0
  454. package/dist/impl/apply_condition_refresh.d.ts.map +1 -0
  455. package/dist/impl/apply_condition_refresh.js +1 -4
  456. package/dist/impl/apply_condition_refresh.js.map +1 -1
  457. package/dist/impl/base_node_impl.d.ts +1 -0
  458. package/dist/impl/base_node_impl.d.ts.map +1 -0
  459. package/dist/impl/base_node_impl.js +279 -292
  460. package/dist/impl/base_node_impl.js.map +1 -1
  461. package/dist/impl/base_node_private.d.ts +1 -0
  462. package/dist/impl/base_node_private.d.ts.map +1 -0
  463. package/dist/impl/base_node_private.js +168 -199
  464. package/dist/impl/base_node_private.js.map +1 -1
  465. package/dist/impl/bulk_load_clock.d.ts +35 -0
  466. package/dist/impl/bulk_load_clock.d.ts.map +1 -0
  467. package/dist/impl/bulk_load_clock.js +58 -0
  468. package/dist/impl/bulk_load_clock.js.map +1 -0
  469. package/dist/impl/check_value_rank_compatibility.d.ts +1 -0
  470. package/dist/impl/check_value_rank_compatibility.d.ts.map +1 -0
  471. package/dist/impl/check_value_rank_compatibility.js +1 -4
  472. package/dist/impl/check_value_rank_compatibility.js.map +1 -1
  473. package/dist/impl/child_accessors.d.ts +1 -0
  474. package/dist/impl/child_accessors.d.ts.map +1 -0
  475. package/dist/impl/child_accessors.js +10 -20
  476. package/dist/impl/child_accessors.js.map +1 -1
  477. package/dist/impl/data_access/add_dataItem_stuff.d.ts +1 -0
  478. package/dist/impl/data_access/add_dataItem_stuff.d.ts.map +1 -0
  479. package/dist/impl/data_access/add_dataItem_stuff.js +6 -9
  480. package/dist/impl/data_access/add_dataItem_stuff.js.map +1 -1
  481. package/dist/impl/data_access/adjust_datavalue_status_code.d.ts +1 -0
  482. package/dist/impl/data_access/adjust_datavalue_status_code.d.ts.map +1 -0
  483. package/dist/impl/data_access/adjust_datavalue_status_code.js +9 -12
  484. package/dist/impl/data_access/adjust_datavalue_status_code.js.map +1 -1
  485. package/dist/impl/data_access/semantics_changed.d.ts +12 -0
  486. package/dist/impl/data_access/semantics_changed.d.ts.map +1 -0
  487. package/dist/impl/data_access/semantics_changed.js +44 -10
  488. package/dist/impl/data_access/semantics_changed.js.map +1 -1
  489. package/dist/impl/data_access/ua_multistate_discrete_impl.d.ts +2 -1
  490. package/dist/impl/data_access/ua_multistate_discrete_impl.d.ts.map +1 -0
  491. package/dist/impl/data_access/ua_multistate_discrete_impl.js +35 -41
  492. package/dist/impl/data_access/ua_multistate_discrete_impl.js.map +1 -1
  493. package/dist/impl/data_access/ua_multistate_value_discrete_impl.d.ts +1 -0
  494. package/dist/impl/data_access/ua_multistate_value_discrete_impl.d.ts.map +1 -0
  495. package/dist/impl/data_access/ua_multistate_value_discrete_impl.js +71 -78
  496. package/dist/impl/data_access/ua_multistate_value_discrete_impl.js.map +1 -1
  497. package/dist/impl/data_access/ua_two_state_discrete_impl.d.ts +1 -0
  498. package/dist/impl/data_access/ua_two_state_discrete_impl.d.ts.map +1 -0
  499. package/dist/impl/data_access/ua_two_state_discrete_impl.js +27 -36
  500. package/dist/impl/data_access/ua_two_state_discrete_impl.js.map +1 -1
  501. package/dist/impl/event_data.d.ts +1 -0
  502. package/dist/impl/event_data.d.ts.map +1 -0
  503. package/dist/impl/event_data.js +15 -19
  504. package/dist/impl/event_data.js.map +1 -1
  505. package/dist/impl/event_layout.d.ts +1 -0
  506. package/dist/impl/event_layout.d.ts.map +1 -0
  507. package/dist/impl/event_layout.js +12 -16
  508. package/dist/impl/event_layout.js.map +1 -1
  509. package/dist/impl/extension_object_array_node.d.ts +1 -0
  510. package/dist/impl/extension_object_array_node.d.ts.map +1 -0
  511. package/dist/impl/extension_object_array_node.js +47 -53
  512. package/dist/impl/extension_object_array_node.js.map +1 -1
  513. package/dist/impl/get_basic_datatype.d.ts +1 -0
  514. package/dist/impl/get_basic_datatype.d.ts.map +1 -0
  515. package/dist/impl/get_basic_datatype.js +6 -10
  516. package/dist/impl/get_basic_datatype.js.map +1 -1
  517. package/dist/impl/handle_hierarchy_parent.d.ts +1 -0
  518. package/dist/impl/handle_hierarchy_parent.d.ts.map +1 -0
  519. package/dist/impl/handle_hierarchy_parent.js +26 -30
  520. package/dist/impl/handle_hierarchy_parent.js.map +1 -1
  521. package/dist/impl/historical_access/address_space_historical_data_node.d.ts +1 -0
  522. package/dist/impl/historical_access/address_space_historical_data_node.d.ts.map +1 -0
  523. package/dist/impl/historical_access/address_space_historical_data_node.js +76 -84
  524. package/dist/impl/historical_access/address_space_historical_data_node.js.map +1 -1
  525. package/dist/impl/historical_access/read_processed_details_hook.d.ts +1 -0
  526. package/dist/impl/historical_access/read_processed_details_hook.d.ts.map +1 -0
  527. package/dist/impl/historical_access/read_processed_details_hook.js +1 -4
  528. package/dist/impl/historical_access/read_processed_details_hook.js.map +1 -1
  529. package/dist/impl/historizer_factory.d.ts +1 -0
  530. package/dist/impl/historizer_factory.d.ts.map +1 -0
  531. package/dist/impl/historizer_factory.js +1 -4
  532. package/dist/impl/historizer_factory.js.map +1 -1
  533. package/dist/impl/idx_iterator.d.ts +1 -0
  534. package/dist/impl/idx_iterator.d.ts.map +1 -0
  535. package/dist/impl/idx_iterator.js +1 -5
  536. package/dist/impl/idx_iterator.js.map +1 -1
  537. package/dist/impl/namespace_impl.d.ts +32 -0
  538. package/dist/impl/namespace_impl.d.ts.map +1 -0
  539. package/dist/impl/namespace_impl.js +418 -318
  540. package/dist/impl/namespace_impl.js.map +1 -1
  541. package/dist/impl/namespace_private.d.ts +3 -0
  542. package/dist/impl/namespace_private.d.ts.map +1 -0
  543. package/dist/impl/namespace_private.js +3 -6
  544. package/dist/impl/namespace_private.js.map +1 -1
  545. package/dist/impl/nodeid_manager.d.ts +16 -0
  546. package/dist/impl/nodeid_manager.d.ts.map +1 -0
  547. package/dist/impl/nodeid_manager.js +70 -46
  548. package/dist/impl/nodeid_manager.js.map +1 -1
  549. package/dist/impl/nodeset_tools/adjust_namespace_array.d.ts +1 -0
  550. package/dist/impl/nodeset_tools/adjust_namespace_array.d.ts.map +1 -0
  551. package/dist/impl/nodeset_tools/adjust_namespace_array.js +1 -4
  552. package/dist/impl/nodeset_tools/adjust_namespace_array.js.map +1 -1
  553. package/dist/impl/nodeset_tools/construct_namespace_dependency.d.ts +1 -0
  554. package/dist/impl/nodeset_tools/construct_namespace_dependency.d.ts.map +1 -0
  555. package/dist/impl/nodeset_tools/construct_namespace_dependency.js +28 -39
  556. package/dist/impl/nodeset_tools/construct_namespace_dependency.js.map +1 -1
  557. package/dist/impl/nodeset_tools/dump_to_bsd.d.ts +1 -0
  558. package/dist/impl/nodeset_tools/dump_to_bsd.d.ts.map +1 -0
  559. package/dist/impl/nodeset_tools/dump_to_bsd.js +14 -20
  560. package/dist/impl/nodeset_tools/dump_to_bsd.js.map +1 -1
  561. package/dist/impl/nodeset_tools/nodeset_to_records.d.ts +1 -0
  562. package/dist/impl/nodeset_tools/nodeset_to_records.d.ts.map +1 -0
  563. package/dist/impl/nodeset_tools/nodeset_to_records.js +125 -139
  564. package/dist/impl/nodeset_tools/nodeset_to_records.js.map +1 -1
  565. package/dist/impl/nodeset_tools/nodeset_to_xml.d.ts +1 -0
  566. package/dist/impl/nodeset_tools/nodeset_to_xml.d.ts.map +1 -0
  567. package/dist/impl/nodeset_tools/nodeset_to_xml.js +190 -202
  568. package/dist/impl/nodeset_tools/nodeset_to_xml.js.map +1 -1
  569. package/dist/impl/private_namespace.d.ts +1 -0
  570. package/dist/impl/private_namespace.d.ts.map +1 -0
  571. package/dist/impl/private_namespace.js +3 -8
  572. package/dist/impl/private_namespace.js.map +1 -1
  573. package/dist/impl/reference_impl.d.ts +1 -0
  574. package/dist/impl/reference_impl.d.ts.map +1 -0
  575. package/dist/impl/reference_impl.js +24 -37
  576. package/dist/impl/reference_impl.js.map +1 -1
  577. package/dist/impl/reference_type_version.d.ts +1 -0
  578. package/dist/impl/reference_type_version.d.ts.map +1 -0
  579. package/dist/impl/reference_type_version.js +2 -5
  580. package/dist/impl/reference_type_version.js.map +1 -1
  581. package/dist/impl/role_permissions.d.ts +1 -0
  582. package/dist/impl/role_permissions.d.ts.map +1 -0
  583. package/dist/impl/role_permissions.js +3 -6
  584. package/dist/impl/role_permissions.js.map +1 -1
  585. package/dist/impl/state_machine/finite_state_machine.d.ts +1 -0
  586. package/dist/impl/state_machine/finite_state_machine.d.ts.map +1 -0
  587. package/dist/impl/state_machine/finite_state_machine.js +123 -97
  588. package/dist/impl/state_machine/finite_state_machine.js.map +1 -1
  589. package/dist/impl/state_machine/ua_shelving_state_machine_ex.d.ts +1 -0
  590. package/dist/impl/state_machine/ua_shelving_state_machine_ex.d.ts.map +1 -0
  591. package/dist/impl/state_machine/ua_shelving_state_machine_ex.js +57 -62
  592. package/dist/impl/state_machine/ua_shelving_state_machine_ex.js.map +1 -1
  593. package/dist/impl/state_machine/ua_two_state_variable.d.ts +1 -0
  594. package/dist/impl/state_machine/ua_two_state_variable.d.ts.map +1 -0
  595. package/dist/impl/state_machine/ua_two_state_variable.js +56 -63
  596. package/dist/impl/state_machine/ua_two_state_variable.js.map +1 -1
  597. package/dist/impl/tool_isSubtypeOf.d.ts +1 -0
  598. package/dist/impl/tool_isSubtypeOf.d.ts.map +1 -0
  599. package/dist/impl/tool_isSubtypeOf.js +27 -34
  600. package/dist/impl/tool_isSubtypeOf.js.map +1 -1
  601. package/dist/impl/ua_condition_type.d.ts +1 -0
  602. package/dist/impl/ua_condition_type.d.ts.map +1 -0
  603. package/dist/impl/ua_condition_type.js +1 -2
  604. package/dist/impl/ua_data_type_impl.d.ts +1 -0
  605. package/dist/impl/ua_data_type_impl.d.ts.map +1 -0
  606. package/dist/impl/ua_data_type_impl.js +99 -83
  607. package/dist/impl/ua_data_type_impl.js.map +1 -1
  608. package/dist/impl/ua_method_impl.d.ts +3 -2
  609. package/dist/impl/ua_method_impl.d.ts.map +1 -0
  610. package/dist/impl/ua_method_impl.js +74 -78
  611. package/dist/impl/ua_method_impl.js.map +1 -1
  612. package/dist/impl/ua_object_impl.d.ts +1 -0
  613. package/dist/impl/ua_object_impl.d.ts.map +1 -0
  614. package/dist/impl/ua_object_impl.js +48 -51
  615. package/dist/impl/ua_object_impl.js.map +1 -1
  616. package/dist/impl/ua_object_type_impl.d.ts +1 -0
  617. package/dist/impl/ua_object_type_impl.d.ts.map +1 -0
  618. package/dist/impl/ua_object_type_impl.js +36 -39
  619. package/dist/impl/ua_object_type_impl.js.map +1 -1
  620. package/dist/impl/ua_reference_type_impl.d.ts +2 -1
  621. package/dist/impl/ua_reference_type_impl.d.ts.map +1 -0
  622. package/dist/impl/ua_reference_type_impl.js +41 -45
  623. package/dist/impl/ua_reference_type_impl.js.map +1 -1
  624. package/dist/impl/ua_variable_impl.d.ts +1 -0
  625. package/dist/impl/ua_variable_impl.d.ts.map +1 -0
  626. package/dist/impl/ua_variable_impl.js +373 -376
  627. package/dist/impl/ua_variable_impl.js.map +1 -1
  628. package/dist/impl/ua_variable_impl_ext_obj.d.ts +1 -0
  629. package/dist/impl/ua_variable_impl_ext_obj.d.ts.map +1 -0
  630. package/dist/impl/ua_variable_impl_ext_obj.js +79 -97
  631. package/dist/impl/ua_variable_impl_ext_obj.js.map +1 -1
  632. package/dist/impl/ua_variable_type_impl.d.ts +1 -0
  633. package/dist/impl/ua_variable_type_impl.d.ts.map +1 -0
  634. package/dist/impl/ua_variable_type_impl.js +78 -84
  635. package/dist/impl/ua_variable_type_impl.js.map +1 -1
  636. package/dist/impl/ua_view_impl.d.ts +1 -0
  637. package/dist/impl/ua_view_impl.d.ts.map +1 -0
  638. package/dist/impl/ua_view_impl.js +18 -22
  639. package/dist/impl/ua_view_impl.js.map +1 -1
  640. package/dist/impl/validate_data_type_correctness.d.ts +1 -0
  641. package/dist/impl/validate_data_type_correctness.d.ts.map +1 -0
  642. package/dist/impl/validate_data_type_correctness.js +24 -30
  643. package/dist/impl/validate_data_type_correctness.js.map +1 -1
  644. package/dist/tsconfig_base.tsbuildinfo +1 -1
  645. package/distHelpers/add_event_generator_object.d.ts +1 -0
  646. package/distHelpers/add_event_generator_object.d.ts.map +1 -0
  647. package/distHelpers/add_event_generator_object.js +8 -11
  648. package/distHelpers/add_event_generator_object.js.map +1 -1
  649. package/distHelpers/address_space_digest.d.ts +1 -0
  650. package/distHelpers/address_space_digest.d.ts.map +1 -0
  651. package/distHelpers/address_space_digest.js +1 -5
  652. package/distHelpers/address_space_digest.js.map +1 -1
  653. package/distHelpers/alarms_and_conditions_demo.d.ts +1 -0
  654. package/distHelpers/alarms_and_conditions_demo.d.ts.map +1 -0
  655. package/distHelpers/alarms_and_conditions_demo.js +8 -11
  656. package/distHelpers/alarms_and_conditions_demo.js.map +1 -1
  657. package/distHelpers/assertHasMatchingReference.d.ts +1 -0
  658. package/distHelpers/assertHasMatchingReference.d.ts.map +1 -0
  659. package/distHelpers/assertHasMatchingReference.js +6 -9
  660. package/distHelpers/assertHasMatchingReference.js.map +1 -1
  661. package/distHelpers/boiler_system.d.ts +1 -0
  662. package/distHelpers/boiler_system.d.ts.map +1 -0
  663. package/distHelpers/boiler_system.js +36 -40
  664. package/distHelpers/boiler_system.js.map +1 -1
  665. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +1 -0
  666. package/distHelpers/create_minimalist_address_space_nodeset.d.ts.map +1 -0
  667. package/distHelpers/create_minimalist_address_space_nodeset.js +29 -35
  668. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -1
  669. package/distHelpers/date_utils.d.ts +1 -0
  670. package/distHelpers/date_utils.d.ts.map +1 -0
  671. package/distHelpers/date_utils.js +1 -4
  672. package/distHelpers/date_utils.js.map +1 -1
  673. package/distHelpers/dump_statemachine.d.ts +1 -0
  674. package/distHelpers/dump_statemachine.d.ts.map +1 -0
  675. package/distHelpers/dump_statemachine.js +1 -2
  676. package/distHelpers/dump_statemachine.js.map +1 -1
  677. package/distHelpers/get_address_space_fixture.d.ts +1 -0
  678. package/distHelpers/get_address_space_fixture.d.ts.map +1 -0
  679. package/distHelpers/get_address_space_fixture.js +12 -18
  680. package/distHelpers/get_address_space_fixture.js.map +1 -1
  681. package/distHelpers/get_mini_address_space.d.ts +1 -0
  682. package/distHelpers/get_mini_address_space.d.ts.map +1 -0
  683. package/distHelpers/get_mini_address_space.js +12 -18
  684. package/distHelpers/get_mini_address_space.js.map +1 -1
  685. package/distHelpers/index.d.ts +1 -0
  686. package/distHelpers/index.d.ts.map +1 -0
  687. package/distHelpers/index.js +10 -26
  688. package/distHelpers/index.js.map +1 -1
  689. package/distHelpers/mock_session.d.ts +1 -0
  690. package/distHelpers/mock_session.d.ts.map +1 -0
  691. package/distHelpers/mock_session.js +11 -16
  692. package/distHelpers/mock_session.js.map +1 -1
  693. package/distNodeJS/address_space_digest.d.ts +1 -0
  694. package/distNodeJS/address_space_digest.d.ts.map +1 -0
  695. package/distNodeJS/address_space_digest.js +3 -6
  696. package/distNodeJS/address_space_digest.js.map +1 -1
  697. package/distNodeJS/generate_address_space.d.ts +1 -0
  698. package/distNodeJS/generate_address_space.d.ts.map +1 -0
  699. package/distNodeJS/generate_address_space.js +67 -97
  700. package/distNodeJS/generate_address_space.js.map +1 -1
  701. package/distNodeJS/index.d.ts +1 -0
  702. package/distNodeJS/index.d.ts.map +1 -0
  703. package/distNodeJS/index.js +3 -19
  704. package/distNodeJS/index.js.map +1 -1
  705. package/distNodeJS/nodeset_image_file_store.d.ts +1 -0
  706. package/distNodeJS/nodeset_image_file_store.d.ts.map +1 -0
  707. package/distNodeJS/nodeset_image_file_store.js +20 -28
  708. package/distNodeJS/nodeset_image_file_store.js.map +1 -1
  709. package/impl/_mandatory_child_or_requested_optional_filter.ts +3 -3
  710. package/impl/address_space.ts +75 -6
  711. package/impl/address_space_change_event_tools.ts +7 -0
  712. package/impl/address_space_private.ts +1 -0
  713. package/impl/alarms_and_conditions/condition_snapshot_impl.ts +1 -1
  714. package/impl/alarms_and_conditions/deviation_alarm_helper.ts +3 -0
  715. package/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +1 -1
  716. package/impl/alarms_and_conditions/ua_alarm_condition_impl.ts +1 -1
  717. package/impl/alarms_and_conditions/ua_condition_impl.ts +1 -1
  718. package/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +12 -1
  719. package/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +12 -1
  720. package/impl/bulk_load_clock.ts +65 -0
  721. package/impl/data_access/semantics_changed.ts +39 -1
  722. package/impl/data_access/ua_multistate_discrete_impl.ts +1 -1
  723. package/impl/extension_object_array_node.ts +5 -5
  724. package/impl/historical_access/address_space_historical_data_node.ts +2 -2
  725. package/impl/namespace_impl.ts +119 -2
  726. package/impl/namespace_private.ts +3 -0
  727. package/impl/nodeid_manager.ts +40 -5
  728. package/impl/nodeset_tools/construct_namespace_dependency.ts +4 -4
  729. package/impl/nodeset_tools/dump_to_bsd.ts +1 -1
  730. package/impl/nodeset_tools/nodeset_to_xml.ts +1 -1
  731. package/impl/state_machine/finite_state_machine.ts +56 -10
  732. package/impl/state_machine/ua_shelving_state_machine_ex.ts +1 -1
  733. package/impl/state_machine/ua_two_state_variable.ts +1 -1
  734. package/impl/tool_isSubtypeOf.ts +1 -1
  735. package/impl/ua_data_type_impl.ts +26 -5
  736. package/impl/ua_method_impl.ts +10 -6
  737. package/impl/ua_object_impl.ts +6 -2
  738. package/impl/ua_object_type_impl.ts +1 -0
  739. package/impl/ua_variable_impl.ts +15 -8
  740. package/impl/ua_variable_type_impl.ts +4 -3
  741. package/nodeJS.d.ts +1 -1
  742. package/nodeJS.js +1 -1
  743. package/package.json +42 -41
  744. package/source_nodejs/generate_address_space.ts +31 -14
  745. package/testHelpers.d.ts +1 -1
  746. package/testHelpers.js +1 -1
  747. /package/bin/{nodeset_tool_common.js → nodeset_tool_common.cjs} +0 -0
@@ -51,11 +51,17 @@ function _filterAggregates(addressSpace: AddressSpacePartial, references: UARefe
51
51
  return [ref.nodeId, ""];
52
52
  }
53
53
 
54
+ function _declaredParent(options: ConstructNodeIdOptions): NodeId | null {
55
+ const declared = options.parentNodeId;
56
+ if (!declared) return null;
57
+ if (declared instanceof BaseNodeImpl) return declared.nodeId;
58
+ const nodeId = resolveNodeId(declared as NodeIdLike);
59
+ return nodeId.isEmpty() ? null : nodeId;
60
+ }
61
+
54
62
  function _findParentNodeId(addressSpace: AddressSpacePartial, options: ConstructNodeIdOptions): [NodeId, Suffix] | null {
55
- if (!options.references) {
56
- return null;
57
- }
58
- for (const ref of options.references) {
63
+ const references = options.references ?? [];
64
+ for (const ref of references) {
59
65
  const _ref = ref as ReferenceImpl;
60
66
  _ref._referenceType = addressSpace.findReferenceType(ref.referenceType) ?? undefined;
61
67
  /* c8 ignore next */
@@ -64,8 +70,19 @@ function _findParentNodeId(addressSpace: AddressSpacePartial, options: Construct
64
70
  }
65
71
  _ref.referenceType = _ref._referenceType.nodeId;
66
72
  }
73
+ // A declared parent names the node, whatever reference links the two, as it
74
+ // is the node's parent: an Organizes-only member of a type is
75
+ // `<Type>_MachineryBuildingBlocks` in the ModelCompiler's NodeIds.csv, and a
76
+ // node with two aggregating parents is named after the declared one.
77
+ const declared = _declaredParent(options);
78
+ if (declared) {
79
+ const viaEncoding = references.some(
80
+ (ref) => !ref.isForward && sameNodeId(ref.nodeId, declared) && sameNodeId(ref.referenceType, hasEncoding)
81
+ );
82
+ return [declared, viaEncoding ? "_Encoding" : ""];
83
+ }
67
84
  // find HasComponent, or has Property reverse
68
- return _filterAggregates(addressSpace, options.references);
85
+ return references.length ? _filterAggregates(addressSpace, references) : null;
69
86
  }
70
87
 
71
88
  function prepareName(browseName?: QualifiedName | QualifiedNameOptions): string {
@@ -83,6 +100,11 @@ export interface ConstructNodeIdOptions {
83
100
  nodeClass?: NodeClass;
84
101
  references?: UAReference[];
85
102
  registerSymbolicNames?: boolean;
103
+ /**
104
+ * The declared parent (NodeSet `ParentNodeId`, or `parentNodeId` on the add* API).
105
+ * When present it names the node, as it is the node's parent (see `BaseNode.parent`).
106
+ */
107
+ parentNodeId?: NodeIdLike | BaseNode | null;
86
108
  }
87
109
  export type NodeEntry = [string, number, NodeClass];
88
110
  export type NodeEntry1 = [string, number, string /*"Object" | "Variable" etc...*/];
@@ -101,6 +123,19 @@ export class NodeIdManager {
101
123
  this.addressSpace = addressSpace;
102
124
  }
103
125
 
126
+ /**
127
+ * Put the id counter back where a fresh manager starts, so that a namespace emptied and
128
+ * populated again hands out the same generated ids as the first time.
129
+ *
130
+ * The symbolic name table is deliberately kept: it is the mapping the caller supplied (or
131
+ * that the first population established) between a name and the id that name must keep, and
132
+ * a recycled namespace has to honour it again. Nothing can clash with a retired id -
133
+ * `buildNewNodeId` skips both the ids in that table and any nodeId still registered.
134
+ */
135
+ public reset(): void {
136
+ this._internal_id_counter = 1000;
137
+ }
138
+
104
139
  public setSymbols(symbols: NodeEntry1[]): void {
105
140
  function convertNodeClass(nodeClass: string): NodeClass {
106
141
  return (NodeClass as unknown as Record<string, NodeClass>)[nodeClass];
@@ -64,7 +64,7 @@ export function _recomputeRequiredModelsFromTypes(namespace: INamespace, cache?:
64
64
  if (_visitedDataType.has(dataType.toString())) {
65
65
  return;
66
66
  }
67
- // c8 ignore next
67
+ /* c8 ignore next */
68
68
  if (dataTypeNode.nodeClass !== NodeClass.DataType) {
69
69
  warningLog("exploreDataTypes! ignoring ", dataTypeNode.toString());
70
70
  return;
@@ -87,12 +87,12 @@ export function _recomputeRequiredModelsFromTypes(namespace: INamespace, cache?:
87
87
  assert(!(e instanceof Variant));
88
88
  const nodeId = e.schema.encodingDefaultXml || e.schema.dataTypeNodeId || e.schema.dataTypeNodeId;
89
89
  consider(nodeId.namespace);
90
- // c8 ignore next
90
+ /* c8 ignore next */
91
91
  if (e.schema.dataTypeNodeId.isEmpty()) {
92
92
  warningLog("Cannot find dataTypeNodeId for ", e.schema.name);
93
93
  }
94
94
  const d = addressSpace.findNode(e.schema.dataTypeNodeId) as UADataType | null;
95
- // c8 ignore next
95
+ /* c8 ignore next */
96
96
  if (!d) return;
97
97
  exploreDataTypes(d);
98
98
  }
@@ -137,7 +137,7 @@ export function _recomputeRequiredModelsFromTypes(namespace: INamespace, cache?:
137
137
  if (dataTypeNode) {
138
138
  consider(dataTypeNode.nodeId.namespace);
139
139
  } else {
140
- // c8 ignore next
140
+ /* c8 ignore next */
141
141
  if (dataTypeNodeId.value !== 0) {
142
142
  warningLog("Warning: Cannot find dataType", dataTypeNodeId.toString());
143
143
  }
@@ -27,7 +27,7 @@ function buildXmlName(addressSpace: AddressSpacePrivate, map: Map<number, string
27
27
  return "ua:ExtensionObject";
28
28
  }
29
29
  const node = addressSpace.findNode(nodeId);
30
- // c8 ignore next
30
+ /* c8 ignore next */
31
31
  if (!node) {
32
32
  throw new Error(`Cannot find Node for${nodeId?.toString()}`);
33
33
  }
@@ -104,7 +104,7 @@ function _hasHigherPriorityThan(xw: XmlWriter, namespaceIndex1: number, namespac
104
104
 
105
105
  function _mustFindReferenceType(addressSpace: IAddressSpace, name: string): UAReferenceType {
106
106
  const referenceType = addressSpace.findReferenceType(name);
107
- // c8 ignore next
107
+ /* c8 ignore next */
108
108
  if (!referenceType) {
109
109
  throw new Error(`Cannot find standard reference type ${name}: please check your nodeset file`);
110
110
  }
@@ -65,6 +65,50 @@ function getComponentOfType(typeDef: UAObjectType, typedefinition: UAObjectType)
65
65
  return components_parts as UAObject[];
66
66
  }
67
67
 
68
+ /**
69
+ * OPC 10000-16 requires that a StateMachineType (or subtype) that raises events declares a
70
+ * GeneratesEvent reference to the EventType(s) it raises, on the type itself or on one of its
71
+ * super types (the CTT's "Base Info State Machine Instance / 001.js" script walks the instance's
72
+ * type up to StateMachineType looking for one such reference and accepts BaseEventType or any
73
+ * subtype as the target).
74
+ *
75
+ * node-opcua's finite state machine implementation always raises a "TransitionEventType" event
76
+ * when the current state changes (see FiniteStateMachineType#setState), for every state machine
77
+ * instance, whichever subtype of FiniteStateMachineType it is instantiated from. Declaring the
78
+ * reference once on FiniteStateMachineType therefore covers every state machine exposed by the
79
+ * server (ExclusiveLimitStateMachineType included), matching the CTT's parent walk.
80
+ *
81
+ * This is called from every state machine's _post_initialize, so it must be idempotent.
82
+ */
83
+ function ensureFiniteStateMachineTypeGeneratesTransitionEvent(finiteStateMachineType: UAObjectType): void {
84
+ const addressSpace = finiteStateMachineType.addressSpace;
85
+
86
+ // Some minimal test fixtures load only a handful of namespace-0 nodes and do not carry the
87
+ // GeneratesEvent ReferenceType or TransitionEventType ObjectType at all: nothing to attach to.
88
+ if (!addressSpace.findReferenceType("GeneratesEvent")) {
89
+ return;
90
+ }
91
+ const transitionEventType = addressSpace.findObjectType("TransitionEventType");
92
+ if (!transitionEventType) {
93
+ /* c8 ignore next */
94
+ return;
95
+ }
96
+
97
+ const hasReferenceAlready = finiteStateMachineType
98
+ .findReferencesEx("GeneratesEvent", BrowseDirection.Forward)
99
+ .some((ref) => sameNodeId(ref.nodeId, transitionEventType.nodeId));
100
+
101
+ if (hasReferenceAlready) {
102
+ return;
103
+ }
104
+
105
+ finiteStateMachineType.addReference({
106
+ referenceType: "GeneratesEvent",
107
+ isForward: true,
108
+ nodeId: transitionEventType.nodeId
109
+ });
110
+ }
111
+
68
112
  const defaultPredicate = (transitions: UATransition[], fromState: UAState, toState: UAState) => {
69
113
  if (transitions.length === 0) {
70
114
  return null;
@@ -88,13 +132,13 @@ export function getFiniteStateMachineTypeStates(uaFiniteStateMachineType: UAObje
88
132
  const addressSpace = uaFiniteStateMachineType.addressSpace;
89
133
 
90
134
  const initialStateType = addressSpace.findObjectType("InitialStateType");
91
- // c8 ignore next
135
+ /* c8 ignore next */
92
136
  if (!initialStateType) {
93
137
  throw new Error("cannot find InitialStateType");
94
138
  }
95
139
 
96
140
  const stateType = addressSpace.findObjectType("StateType");
97
- // c8 ignore next
141
+ /* c8 ignore next */
98
142
  if (!stateType) {
99
143
  throw new Error("cannot find StateType");
100
144
  }
@@ -109,7 +153,7 @@ export function getFiniteStateMachineTypeTransitions(uaFiniteStateMachineType: U
109
153
  const addressSpace = uaFiniteStateMachineType.addressSpace;
110
154
 
111
155
  const transitionType = addressSpace.findObjectType("TransitionType");
112
- // c8 ignore next
156
+ /* c8 ignore next */
113
157
  if (!transitionType) {
114
158
  throw new Error("cannot find TransitionType");
115
159
  }
@@ -178,7 +222,7 @@ export class UAStateMachineImplBase extends UAObjectImpl implements UAStateMachi
178
222
  const typeDef = this.typeDefinitionObj;
179
223
 
180
224
  const comp = getComponentOfType(typeDef, initialStateType);
181
- // c8 ignore next
225
+ /* c8 ignore next */
182
226
  if (comp.length > 1) {
183
227
  throw new Error(" More than 1 initial state in stateMachine");
184
228
  }
@@ -214,7 +258,7 @@ export class UAStateMachineImplBase extends UAObjectImpl implements UAStateMachi
214
258
  // to be executed there must be a transition from currentState to toState
215
259
  const transition = this.findTransitionNode(this.currentStateNode, toStateNode, predicate);
216
260
  if (!transition) {
217
- // c8 ignore next
261
+ /* c8 ignore next */
218
262
  if (doDebug) {
219
263
  debugLog(" No transition from ", this.currentStateNode.browseName.toString(), " to ", toStateNode.toString());
220
264
  }
@@ -242,18 +286,18 @@ export class UAStateMachineImplBase extends UAObjectImpl implements UAStateMachi
242
286
  return null;
243
287
  }
244
288
 
245
- // c8 ignore next
289
+ /* c8 ignore next */
246
290
  if (_fromStateNode.nodeClass !== NodeClass.Object) {
247
291
  throw new Error("Internal Error");
248
292
  }
249
- // c8 ignore next
293
+ /* c8 ignore next */
250
294
  if (_toStateNode && _toStateNode.nodeClass !== NodeClass.Object) {
251
295
  throw new Error("Internal Error");
252
296
  }
253
297
 
254
298
  const stateType = addressSpace.findObjectType("StateType");
255
299
 
256
- // c8 ignore next
300
+ /* c8 ignore next */
257
301
  if (!stateType) {
258
302
  throw new Error("Cannot find StateType");
259
303
  }
@@ -270,7 +314,7 @@ export class UAStateMachineImplBase extends UAObjectImpl implements UAStateMachi
270
314
  // cannot find a transition from fromState to toState
271
315
  return null;
272
316
  }
273
- // c8 ignore next
317
+ /* c8 ignore next */
274
318
  if (transitions.length > 1) {
275
319
  const selectedTransition = (predicate || defaultPredicate)(
276
320
  transitions,
@@ -316,7 +360,7 @@ export class UAStateMachineImplBase extends UAObjectImpl implements UAStateMachi
316
360
 
317
361
  if (typeof toStateNode === "string") {
318
362
  const state = this.getStateByName(toStateNode);
319
- // c8 ignore next
363
+ /* c8 ignore next */
320
364
  if (!state) {
321
365
  throw new Error(`Cannot find state with name ${toStateNode}`);
322
366
  }
@@ -590,6 +634,8 @@ export class UAStateMachineImplBase extends UAObjectImpl implements UAStateMachi
590
634
  throw new Error("cannot find FiniteStateMachineType");
591
635
  }
592
636
 
637
+ ensureFiniteStateMachineTypeGeneratesTransitionEvent(finiteStateMachineType);
638
+
593
639
  // xx assert(this.typeDefinitionObj && !this.subtypeOfObj);
594
640
  // xx assert(!this.typeDefinitionObj || this.typeDefinitionObj.isSubtypeOf(finiteStateMachineType));
595
641
  // get current Status
@@ -159,7 +159,7 @@ function _automatically_unshelve(shelvingState: UAShelvedStateMachineExImpl) {
159
159
  assert(shelvingState._timer, "expecting timerId to be set");
160
160
  shelvingState._timer = null;
161
161
 
162
- // c8 ignore next
162
+ /* c8 ignore next */
163
163
  if (doDebug) {
164
164
  debugLog("Automatically un-shelving variable ", shelvingState.browseName.toString());
165
165
  }
@@ -153,7 +153,7 @@ export function promoteToTwoStateVariable(node: UAVariable): UATwoStateVariableE
153
153
  if (node instanceof UATwoStateVariableImpl) {
154
154
  return node;
155
155
  }
156
- // c8 ignore next
156
+ /* c8 ignore next */
157
157
  if (!(node instanceof UAVariableImpl)) {
158
158
  throw new Error("Trying to promote a invalid object");
159
159
  }
@@ -49,7 +49,7 @@ function _slow_isSubtypeOf<T extends UAType>(this: T, Class: typeof BaseNodeImpl
49
49
  for (const subType1 of subTypes) {
50
50
  const subTypeId = subType1.nodeId;
51
51
  const subTypeNode = this.addressSpace.findNode(subTypeId) as unknown as T;
52
- // c8 ignore next
52
+ /* c8 ignore next */
53
53
  if (!subTypeNode) {
54
54
  throw new Error(`Cannot find object with nodeId ${subTypeId.toString()}`);
55
55
  }
@@ -9,7 +9,7 @@ import { DataTypeIds } from "node-opcua-constants";
9
9
  import { AttributeIds, type LocalizedText, NodeClass, type QualifiedNameLike } from "node-opcua-data-model";
10
10
  import { DataValue, type DataValueLike } from "node-opcua-data-value";
11
11
  import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
12
- import { ExpandedNodeId, NodeId, resolveNodeId } from "node-opcua-nodeid";
12
+ import { ExpandedNodeId, NodeId, resolveNodeId, sameNodeId } from "node-opcua-nodeid";
13
13
  import { NumericRange } from "node-opcua-numeric-range";
14
14
  import { StatusCodes } from "node-opcua-status-code";
15
15
  import {
@@ -323,10 +323,31 @@ export class UADataTypeImpl extends BaseNodeImpl implements UADataType {
323
323
  const union = addressSpace.findDataType("Union");
324
324
 
325
325
  // we have a data type from a companion specification
326
- // let's see if this data type need to be registered
327
- const isEnumeration = enumeration && this.isSubtypeOf(enumeration);
328
- const isStructure = structure && this.isSubtypeOf(structure);
329
- const isUnion = !!(structure && union && this.isSubtypeOf(union));
326
+ // let's see if this data type need to be registered.
327
+ //
328
+ // One walk up the chain answers all three questions. `isSubtypeOf` would answer each of
329
+ // them, and memoizes — but its memo is keyed on a counter bumped every time a HasSubtype
330
+ // reference is added anywhere, so during a load, which adds thousands of them, the memo
331
+ // is thrown away before it is ever read and each call walks the chain from scratch. Three
332
+ // walks become one, and the one uses `subtypeOfObj`, which is cached per node, instead of
333
+ // filtering the node's whole reference list at every level.
334
+ let isEnumeration = false;
335
+ let isStructure = false;
336
+ let isUnion = false;
337
+ {
338
+ let ancestor: UADataTypeImpl | null = this;
339
+ // a chain longer than this is a cycle in a broken nodeset, not a model
340
+ let guard = 128;
341
+ while (ancestor && guard-- > 0) {
342
+ const nodeId = ancestor.nodeId;
343
+ if (enumeration && sameNodeId(nodeId, enumeration.nodeId)) isEnumeration = true;
344
+ if (structure && sameNodeId(nodeId, structure.nodeId)) isStructure = true;
345
+ if (union && sameNodeId(nodeId, union.nodeId)) isUnion = true;
346
+ ancestor = ancestor.subtypeOfObj as UADataTypeImpl | null;
347
+ }
348
+ // a Union is a Structure; the original asked for both and so does this
349
+ isUnion = isUnion && !!structure;
350
+ }
330
351
 
331
352
  const isRootDataType = (n: UADataType) => n.nodeId.namespace === 0 && n.nodeId.value === DataTypeIds.BaseDataType;
332
353
 
@@ -68,7 +68,10 @@ export class UAMethodImpl extends BaseNodeImpl<UAMethodEvents> implements UAMeth
68
68
  public methodDeclarationId: NodeId;
69
69
  public _getExecutableFlag?: (this: UAMethod, context: ISessionContext | null) => boolean;
70
70
 
71
- public _asyncExecutionFunction?: MethodFunctor;
71
+ // always the callback form: bindMethod normalises the promise form before storing it. A union
72
+ // here would be wider than what can be held, and `.call` on a union of signatures does not
73
+ // resolve to the callback one.
74
+ public _asyncExecutionFunction?: MethodFunctorC;
72
75
 
73
76
  constructor(options: IMethodOptons) {
74
77
  super(options);
@@ -138,11 +141,12 @@ export class UAMethodImpl extends BaseNodeImpl<UAMethodEvents> implements UAMeth
138
141
 
139
142
  public bindMethod(async_func: MethodFunctor): void {
140
143
  assert(typeof async_func === "function");
141
- if (async_func.length === 2) {
142
- async_func = callbackify(async_func as MethodFunctorA) as MethodFunctorC;
143
- }
144
- assert(async_func.length === 3, ` a method with callback should have 3 arguments : got ${async_func.length}`);
145
- this._asyncExecutionFunction = async_func;
144
+ const callbackForm: MethodFunctorC =
145
+ async_func.length === 2
146
+ ? (callbackify(async_func as MethodFunctorA) as MethodFunctorC)
147
+ : (async_func as MethodFunctorC);
148
+ assert(callbackForm.length === 3, ` a method with callback should have 3 arguments : got ${callbackForm.length}`);
149
+ this._asyncExecutionFunction = callbackForm;
146
150
  }
147
151
  public execute(
148
152
  object: UAObject | UAObjectType | null,
@@ -61,7 +61,7 @@ export class UAObjectImpl<T extends UAObjectEvents & ListenerSignature<T> = UAOb
61
61
  public readonly symbolicName: string | null;
62
62
 
63
63
  get typeDefinitionObj(): UAObjectType {
64
- // c8 ignore next
64
+ /* c8 ignore next */
65
65
  if (super.typeDefinitionObj.nodeClass !== NodeClass.ObjectType) {
66
66
  const msg = `Invalid type definition node class , expecting a ObjectType got ${
67
67
  NodeClass[super.typeDefinitionObj.nodeClass]
@@ -75,7 +75,11 @@ export class UAObjectImpl<T extends UAObjectEvents & ListenerSignature<T> = UAOb
75
75
  constructor(options: InternalBaseNodeOptions & { eventNotifier?: number; symbolicName?: string | null }) {
76
76
  super(options);
77
77
  this._eventNotifier = options.eventNotifier || EventNotifierFlags.None;
78
- assert(typeof this.eventNotifier === "number" && isValidByte(this.eventNotifier));
78
+ // the declared flags, not the getter: reading the getter here scans the node's references
79
+ // for event sources and notifiers, twice, for a node that has just been built and whose
80
+ // references the loader has not wired yet. The getter answers the same value for a node in
81
+ // that state, and it still runs — and still caches — at the first real read.
82
+ assert(typeof this._eventNotifier === "number" && isValidByte(this._eventNotifier));
79
83
  this.symbolicName = options.symbolicName || null;
80
84
  // every event MonitoredItem on this object is one "event" listener, and the Server
81
85
  // object collects them for every Session: more than ten is the normal case, not a
@@ -147,6 +147,7 @@ export class UAObjectTypeImpl extends BaseNodeImpl<BaseNodeEvents> implements UA
147
147
  eventSourceOf: options.eventSourceOf,
148
148
  notifierOf: options.notifierOf,
149
149
  organizedBy: options.organizedBy,
150
+ parentNodeId: options.parentNodeId,
150
151
  addInOf: options.addInOf,
151
152
  references,
152
153
 
@@ -83,8 +83,9 @@ import { SessionContext } from "../api/session_context.js";
83
83
  import { apply_condition_refresh, type ConditionRefreshCache } from "./apply_condition_refresh.js";
84
84
  import { BaseNodeImpl, type InternalBaseNodeOptions } from "./base_node_impl.js";
85
85
  import { _clone, ToStringBuilder, UAVariable_toString, valueRankToString } from "./base_node_private.js";
86
+ import { loadClock } from "./bulk_load_clock.js";
86
87
  import { adjustDataValueStatusCode } from "./data_access/adjust_datavalue_status_code.js";
87
- import { notifySemanticsChangedIfNeeded } from "./data_access/semantics_changed.js";
88
+ import { notifySemanticsChangedIfNeeded, raiseSemanticChangeEvent } from "./data_access/semantics_changed.js";
88
89
  import { _getBasicDataType } from "./get_basic_datatype.js";
89
90
  import { type EnumerationInfo, type IEnumItem, UADataTypeImpl } from "./ua_data_type_impl.js";
90
91
  import {
@@ -254,7 +255,7 @@ export class UAVariableImpl<T extends UAVariableEvents & ListenerSignature<T> =
254
255
  public __waiting_callbacks?: CallbackT<DataValue>[];
255
256
 
256
257
  get typeDefinitionObj(): UAVariableType {
257
- // c8 ignore next
258
+ /* c8 ignore next */
258
259
  if (super.typeDefinitionObj && super.typeDefinitionObj.nodeClass !== NodeClass.VariableType) {
259
260
  // this could happen in faulty external nodeset and has been seen once
260
261
  // in an nano server
@@ -288,8 +289,10 @@ export class UAVariableImpl<T extends UAVariableEvents & ListenerSignature<T> =
288
289
  // a Variant built from null takes the constructor's short path; the options form costs twice as much.
289
290
  // Stamped with the clock of the construction: a variable nobody gives a value to (a nodeset
290
291
  // Variable of an abstract data type has no default to make up) is read as it is, and the
291
- // requested timestamps are expected on that Uncertain result too (FEAT-34)
292
- const now = getCurrentClock();
292
+ // requested timestamps are expected on that Uncertain result too (FEAT-34).
293
+ // One reading for a whole load — see impl/bulk_load_clock.ts; outside a load of THIS
294
+ // address space this is getCurrentClock(), unchanged.
295
+ const now = loadClock(this.addressSpace);
293
296
  this.$dataValue = new DataValue({
294
297
  statusCode: StatusCodes.UncertainInitialValue,
295
298
  value: new Variant(null),
@@ -484,7 +487,7 @@ export class UAVariableImpl<T extends UAVariableEvents & ListenerSignature<T> =
484
487
  dataValue.statusCode.equals(StatusCodes.BadWaitingForInitialData) ||
485
488
  dataValue.statusCode.equals(StatusCodes.UncertainInitialValue)
486
489
  ) {
487
- // c8 ignore next
490
+ /* c8 ignore next */
488
491
  doDebug &&
489
492
  debugLog(
490
493
  chalk.red(" Warning: UAVariable#readValue ") +
@@ -846,7 +849,8 @@ export class UAVariableImpl<T extends UAVariableEvents & ListenerSignature<T> =
846
849
  if (variant1.dataType === DataType.ExtensionObject && !this.checkExtensionObjectIsCorrect(variant1.value)) {
847
850
  throw new Error("invalid extension object");
848
851
  }
849
- const now = getCurrentClock();
852
+ // the load's reading while this address space is being loaded, a fresh one otherwise
853
+ const now = loadClock(this.addressSpace);
850
854
  this.$dataValue = new DataValue({
851
855
  value: variant1,
852
856
  statusCode,
@@ -1883,13 +1887,13 @@ export class UAVariableImpl<T extends UAVariableEvents & ListenerSignature<T> =
1883
1887
 
1884
1888
  const addressSpace = this.addressSpace;
1885
1889
 
1886
- // c8 ignore next
1890
+ /* c8 ignore next */
1887
1891
  if (!addressSpace) {
1888
1892
  warningLog("UAVariable#_internal_set_dataValue : no addressSpace ! may be node has already been deleted ?");
1889
1893
  return;
1890
1894
  }
1891
1895
 
1892
- // c8 ignore next
1896
+ /* c8 ignore next */
1893
1897
  if (dataValue.value.arrayType === VariantArrayType.Matrix) {
1894
1898
  if (!dataValue.value.dimensions) {
1895
1899
  throw new Error("missing dimensions: a Matrix Variant needs a dimension");
@@ -1997,6 +2001,9 @@ export class UAVariableImpl<T extends UAVariableEvents & ListenerSignature<T> =
1997
2001
  public handle_semantic_changed(_dataValue: DataValue): void {
1998
2002
  this.semantic_version = this.semantic_version + 1;
1999
2003
  (this as UAVariable).emit("semantic_changed");
2004
+ // the bit tells whoever monitors this DataItem; the event tells whoever monitors the
2005
+ // Server object (OPC 10000-5 6.4.31). Both have to come from this one place.
2006
+ raiseSemanticChangeEvent(this as UAVariable);
2000
2007
  }
2001
2008
 
2002
2009
  private _readDataType(): DataValue {
@@ -209,7 +209,7 @@ export class UAVariableTypeImpl extends BaseNodeImpl<BaseNodeEvents> implements
209
209
  options.value = this.value as Variant;
210
210
  options.statusCode = StatusCodes.Good;
211
211
  } else {
212
- // c8 ignore next
212
+ /* c8 ignore next */
213
213
  doDebug && debugLog(" warning Value not implemented");
214
214
  options.value = { dataType: DataType.Null };
215
215
  options.statusCode = StatusCodes.BadAttributeIdInvalid;
@@ -277,7 +277,7 @@ export class UAVariableTypeImpl extends BaseNodeImpl<BaseNodeEvents> implements
277
277
  assertUnusedChildBrowseName(addressSpace, options);
278
278
 
279
279
  const baseVariableType = addressSpace.findVariableType("BaseVariableType");
280
- // c8 ignore next
280
+ /* c8 ignore next */
281
281
  if (!baseVariableType) {
282
282
  throw new Error("BaseVariableType must be defined in the address space");
283
283
  }
@@ -298,7 +298,7 @@ export class UAVariableTypeImpl extends BaseNodeImpl<BaseNodeEvents> implements
298
298
 
299
299
  const arrayDimensions = options.arrayDimensions !== undefined ? options.arrayDimensions : this.arrayDimensions;
300
300
 
301
- // c8 ignore next
301
+ /* c8 ignore next */
302
302
  if (!dataType || dataType.isEmpty()) {
303
303
  warningLog(" options.dataType", options.dataType ? options.dataType.toString() : "<null>");
304
304
  warningLog(" this.dataType", this.dataType ? this.dataType.toString() : "<null>");
@@ -331,6 +331,7 @@ export class UAVariableTypeImpl extends BaseNodeImpl<BaseNodeEvents> implements
331
331
  nodeId: options.nodeId,
332
332
  notifierOf: options.notifierOf,
333
333
  organizedBy: options.organizedBy,
334
+ parentNodeId: options.parentNodeId,
334
335
  // see InstantiateOptions.references: created with the node so the
335
336
  // NodeIdManager derives the symbolic name from that parent
336
337
  references: options.references,
package/nodeJS.d.ts CHANGED
@@ -1 +1 @@
1
- export * from "./distNodeJS";
1
+ export * from "./distNodeJS/index.js";
package/nodeJS.js CHANGED
@@ -1 +1 @@
1
- module.exports = require("./distNodeJS");
1
+ export * from "./distNodeJS/index.js";
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "node-opcua-address-space",
3
- "version": "2.183.0",
3
+ "type": "module",
4
+ "version": "2.184.0",
4
5
  "description": "pure nodejs OPCUA SDK - module address-space",
5
6
  "main": "./dist/api/index.js",
6
7
  "types": "./dist/api/index.d.ts",
@@ -22,50 +23,50 @@
22
23
  "@types/semver": "7.8.0",
23
24
  "chalk": "4.1.2",
24
25
  "dequeue": "^1.0.5",
25
- "node-opcua-address-space-base": "2.183.0",
26
- "node-opcua-assert": "2.183.0",
27
- "node-opcua-basic-types": "2.183.0",
28
- "node-opcua-binary-stream": "2.183.0",
29
- "node-opcua-client-dynamic-extension-object": "2.183.0",
30
- "node-opcua-constants": "2.183.0",
26
+ "node-opcua-address-space-base": "2.184.0",
27
+ "node-opcua-assert": "2.184.0",
28
+ "node-opcua-basic-types": "2.184.0",
29
+ "node-opcua-binary-stream": "2.184.0",
30
+ "node-opcua-client-dynamic-extension-object": "2.184.0",
31
+ "node-opcua-constants": "2.184.0",
31
32
  "node-opcua-crypto": "5.10.1",
32
- "node-opcua-data-access": "2.183.0",
33
- "node-opcua-data-model": "2.183.0",
34
- "node-opcua-data-value": "2.183.0",
35
- "node-opcua-date-time": "2.183.0",
36
- "node-opcua-debug": "2.183.0",
37
- "node-opcua-enum": "2.183.0",
38
- "node-opcua-extension-object": "2.183.0",
39
- "node-opcua-factory": "2.183.0",
40
- "node-opcua-nodeid": "2.183.0",
41
- "node-opcua-nodeset-ua": "2.183.0",
42
- "node-opcua-numeric-range": "2.183.0",
43
- "node-opcua-object-registry": "2.183.0",
44
- "node-opcua-pseudo-session": "2.183.0",
45
- "node-opcua-service-browse": "2.183.0",
46
- "node-opcua-service-call": "2.183.0",
47
- "node-opcua-service-history": "2.183.0",
48
- "node-opcua-service-translate-browse-path": "2.183.0",
49
- "node-opcua-service-write": "2.183.0",
50
- "node-opcua-status-code": "2.183.0",
51
- "node-opcua-types": "2.183.0",
52
- "node-opcua-utils": "2.183.0",
53
- "node-opcua-variant": "2.183.0",
54
- "node-opcua-xml2json": "2.183.0",
33
+ "node-opcua-data-access": "2.184.0",
34
+ "node-opcua-data-model": "2.184.0",
35
+ "node-opcua-data-value": "2.184.0",
36
+ "node-opcua-date-time": "2.184.0",
37
+ "node-opcua-debug": "2.184.0",
38
+ "node-opcua-enum": "2.184.0",
39
+ "node-opcua-extension-object": "2.184.0",
40
+ "node-opcua-factory": "2.184.0",
41
+ "node-opcua-nodeid": "2.184.0",
42
+ "node-opcua-nodeset-ua": "2.184.0",
43
+ "node-opcua-numeric-range": "2.184.0",
44
+ "node-opcua-object-registry": "2.184.0",
45
+ "node-opcua-pseudo-session": "2.184.0",
46
+ "node-opcua-service-browse": "2.184.0",
47
+ "node-opcua-service-call": "2.184.0",
48
+ "node-opcua-service-history": "2.184.0",
49
+ "node-opcua-service-translate-browse-path": "2.184.0",
50
+ "node-opcua-service-write": "2.184.0",
51
+ "node-opcua-status-code": "2.184.0",
52
+ "node-opcua-types": "2.184.0",
53
+ "node-opcua-utils": "2.184.0",
54
+ "node-opcua-variant": "2.184.0",
55
+ "node-opcua-xml2json": "2.184.0",
55
56
  "semver": "^7.8.5",
56
57
  "thenify-ex": "4.4.0",
57
58
  "xml-writer": "^1.7.0"
58
59
  },
59
60
  "devDependencies": {
60
61
  "humanize": "0.0.9",
61
- "node-opcua-benchmarker": "2.183.0",
62
- "node-opcua-leak-detector": "2.183.0",
63
- "node-opcua-nodesets": "2.183.0",
64
- "node-opcua-packet-analyzer": "2.183.0",
65
- "node-opcua-schemas": "2.183.0",
66
- "node-opcua-service-filter": "2.183.0",
67
- "node-opcua-test-fixtures": "2.181.0",
68
- "node-opcua-test-helpers": "2.183.0"
62
+ "node-opcua-benchmarker": "2.184.0",
63
+ "node-opcua-leak-detector": "2.184.0",
64
+ "node-opcua-nodesets": "2.184.0",
65
+ "node-opcua-packet-analyzer": "2.184.0",
66
+ "node-opcua-schemas": "2.184.0",
67
+ "node-opcua-service-filter": "2.184.0",
68
+ "node-opcua-test-fixtures": "2.184.0",
69
+ "node-opcua-test-helpers": "2.184.0"
69
70
  },
70
71
  "author": "Etienne Rossignon",
71
72
  "license": "MIT",
@@ -82,7 +83,7 @@
82
83
  "internet of things"
83
84
  ],
84
85
  "homepage": "http://node-opcua.github.io/",
85
- "gitHead": "d9a9af54d162f0fbb8d287e168aaeeda2d5c38b7",
86
+ "gitHead": "441a5c63e3a4202eb8de8597acac77a3a49248b7",
86
87
  "files": [
87
88
  "dist",
88
89
  "distHelpers",
@@ -98,7 +99,7 @@
98
99
  "bin"
99
100
  ],
100
101
  "bin": {
101
- "opcua-nodeset-image": "bin/opcua-nodeset-image.js",
102
- "opcua-nodeset-live": "bin/opcua-nodeset-live.js"
102
+ "opcua-nodeset-image": "bin/opcua-nodeset-image.cjs",
103
+ "opcua-nodeset-live": "bin/opcua-nodeset-live.cjs"
103
104
  }
104
105
  }