node-opcua-address-space 2.98.0 → 2.98.2

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 (460) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -0
  2. package/dist/source/address_space_ts.js +18 -0
  3. package/dist/source/address_space_ts.js.map +1 -0
  4. package/dist/source/continuation_points/continuation_point_manager.d.ts +91 -0
  5. package/dist/source/continuation_points/continuation_point_manager.js +201 -0
  6. package/dist/source/continuation_points/continuation_point_manager.js.map +1 -0
  7. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -0
  8. package/dist/source/helpers/adjust_browse_direction.js +12 -0
  9. package/dist/source/helpers/adjust_browse_direction.js.map +1 -0
  10. package/dist/source/helpers/argument_list.d.ts +33 -0
  11. package/dist/source/helpers/argument_list.js +255 -0
  12. package/dist/source/helpers/argument_list.js.map +1 -0
  13. package/dist/source/helpers/call_helpers.d.ts +6 -0
  14. package/dist/source/helpers/call_helpers.js +72 -0
  15. package/dist/source/helpers/call_helpers.js.map +1 -0
  16. package/dist/source/helpers/coerce_enum_value.d.ts +6 -0
  17. package/dist/source/helpers/coerce_enum_value.js +34 -0
  18. package/dist/source/helpers/coerce_enum_value.js.map +1 -0
  19. package/dist/source/helpers/dump_tools.d.ts +14 -0
  20. package/dist/source/helpers/dump_tools.js +79 -0
  21. package/dist/source/helpers/dump_tools.js.map +1 -0
  22. package/dist/source/helpers/ensure_secure_access.d.ts +9 -0
  23. package/dist/source/helpers/ensure_secure_access.js +77 -0
  24. package/dist/source/helpers/ensure_secure_access.js.map +1 -0
  25. package/dist/source/helpers/make_optionals_map.d.ts +21 -0
  26. package/dist/source/helpers/make_optionals_map.js +30 -0
  27. package/dist/source/helpers/make_optionals_map.js.map +1 -0
  28. package/dist/source/helpers/multiform_func.d.ts +11 -0
  29. package/dist/source/helpers/multiform_func.js +76 -0
  30. package/dist/source/helpers/multiform_func.js.map +1 -0
  31. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -0
  32. package/dist/source/helpers/resolve_opaque_on_address_space.js +37 -0
  33. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +1 -0
  34. package/dist/source/index.d.ts +61 -0
  35. package/dist/source/index.js +90 -0
  36. package/dist/source/index.js.map +1 -0
  37. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +19 -0
  38. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +3 -0
  39. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -0
  40. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +193 -0
  41. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +3 -0
  42. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +1 -0
  43. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -0
  44. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +3 -0
  45. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js.map +1 -0
  46. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +10 -0
  47. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +3 -0
  48. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js.map +1 -0
  49. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -0
  50. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +3 -0
  51. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +1 -0
  52. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -0
  53. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +3 -0
  54. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +1 -0
  55. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -0
  56. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +3 -0
  57. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +1 -0
  58. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -0
  59. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +3 -0
  60. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +1 -0
  61. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -0
  62. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +3 -0
  63. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +1 -0
  64. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -0
  65. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +3 -0
  66. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +1 -0
  67. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -0
  68. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +3 -0
  69. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +1 -0
  70. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -0
  71. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +3 -0
  72. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +1 -0
  73. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -0
  74. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +3 -0
  75. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +1 -0
  76. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -0
  77. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +3 -0
  78. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +1 -0
  79. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -0
  80. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +3 -0
  81. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +1 -0
  82. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +45 -0
  83. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +3 -0
  84. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js.map +1 -0
  85. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -0
  86. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +26 -0
  87. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +1 -0
  88. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -0
  89. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +3 -0
  90. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +1 -0
  91. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -0
  92. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +3 -0
  93. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +1 -0
  94. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -0
  95. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +3 -0
  96. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +1 -0
  97. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -0
  98. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +3 -0
  99. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +1 -0
  100. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -0
  101. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +3 -0
  102. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +1 -0
  103. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -0
  104. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +3 -0
  105. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +1 -0
  106. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -0
  107. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +3 -0
  108. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +1 -0
  109. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -0
  110. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +3 -0
  111. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +1 -0
  112. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -0
  113. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +3 -0
  114. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +1 -0
  115. package/dist/source/interfaces/extension_object_constructor.d.ts +10 -0
  116. package/dist/source/interfaces/extension_object_constructor.js +3 -0
  117. package/dist/source/interfaces/extension_object_constructor.js.map +1 -0
  118. package/dist/source/interfaces/nodeset_loader_options.d.ts +4 -0
  119. package/dist/source/interfaces/nodeset_loader_options.js +3 -0
  120. package/dist/source/interfaces/nodeset_loader_options.js.map +1 -0
  121. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -0
  122. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +3 -0
  123. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +1 -0
  124. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -0
  125. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +3 -0
  126. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +1 -0
  127. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -0
  128. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +3 -0
  129. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +1 -0
  130. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -0
  131. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +3 -0
  132. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +1 -0
  133. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +234 -0
  134. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +3 -0
  135. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +1 -0
  136. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -0
  137. package/dist/source/interfaces/state_machine/ua_transition_ex.js +3 -0
  138. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +1 -0
  139. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -0
  140. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +3 -0
  141. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -0
  142. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -0
  143. package/dist/source/loader/decode_xml_extension_object.js +72 -0
  144. package/dist/source/loader/decode_xml_extension_object.js.map +1 -0
  145. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -0
  146. package/dist/source/loader/ensure_datatype_extracted.js +71 -0
  147. package/dist/source/loader/ensure_datatype_extracted.js.map +1 -0
  148. package/dist/source/loader/generateAddressSpaceRaw.d.ts +11 -0
  149. package/dist/source/loader/generateAddressSpaceRaw.js +46 -0
  150. package/dist/source/loader/generateAddressSpaceRaw.js.map +1 -0
  151. package/dist/source/loader/load_nodeset2.d.ts +17 -0
  152. package/dist/source/loader/load_nodeset2.js +1484 -0
  153. package/dist/source/loader/load_nodeset2.js.map +1 -0
  154. package/dist/source/loader/make_semver_compatible.d.ts +6 -0
  155. package/dist/source/loader/make_semver_compatible.js +26 -0
  156. package/dist/source/loader/make_semver_compatible.js.map +1 -0
  157. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -0
  158. package/dist/source/loader/make_xml_extension_object_parser.js +327 -0
  159. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -0
  160. package/dist/source/loader/namespace_post_step.d.ts +10 -0
  161. package/dist/source/loader/namespace_post_step.js +62 -0
  162. package/dist/source/loader/namespace_post_step.js.map +1 -0
  163. package/dist/source/loader/register_node_promoter.d.ts +2 -0
  164. package/dist/source/loader/register_node_promoter.js +10 -0
  165. package/dist/source/loader/register_node_promoter.js.map +1 -0
  166. package/dist/source/namespace.d.ts +6 -0
  167. package/dist/source/namespace.js +3 -0
  168. package/dist/source/namespace.js.map +1 -0
  169. package/dist/source/namespace_alarm_and_condition.d.ts +32 -0
  170. package/dist/source/namespace_alarm_and_condition.js +3 -0
  171. package/dist/source/namespace_alarm_and_condition.js.map +1 -0
  172. package/dist/source/namespace_data_access.d.ts +42 -0
  173. package/dist/source/namespace_data_access.js +3 -0
  174. package/dist/source/namespace_data_access.js.map +1 -0
  175. package/dist/source/namespace_machine_state.d.ts +8 -0
  176. package/dist/source/namespace_machine_state.js +3 -0
  177. package/dist/source/namespace_machine_state.js.map +1 -0
  178. package/dist/source/pseudo_session.d.ts +72 -0
  179. package/dist/source/pseudo_session.js +255 -0
  180. package/dist/source/pseudo_session.js.map +1 -0
  181. package/dist/source/session_context.d.ts +111 -0
  182. package/dist/source/session_context.js +265 -0
  183. package/dist/source/session_context.js.map +1 -0
  184. package/dist/source/set_namespace_meta_data.d.ts +2 -0
  185. package/dist/source/set_namespace_meta_data.js +60 -0
  186. package/dist/source/set_namespace_meta_data.js.map +1 -0
  187. package/dist/source/ua_root_folder.d.ts +9 -0
  188. package/dist/source/ua_root_folder.js +3 -0
  189. package/dist/source/ua_root_folder.js.map +1 -0
  190. package/dist/source/ua_two_state_variable_ex.d.ts +23 -0
  191. package/dist/source/ua_two_state_variable_ex.js +3 -0
  192. package/dist/source/ua_two_state_variable_ex.js.map +1 -0
  193. package/dist/source/xml_writer.d.ts +18 -0
  194. package/dist/source/xml_writer.js +3 -0
  195. package/dist/source/xml_writer.js.map +1 -0
  196. package/dist/src/address_space.d.ts +387 -0
  197. package/dist/src/address_space.js +1386 -0
  198. package/dist/src/address_space.js.map +1 -0
  199. package/dist/src/address_space_change_event_tools.d.ts +6 -0
  200. package/dist/src/address_space_change_event_tools.js +153 -0
  201. package/dist/src/address_space_change_event_tools.js.map +1 -0
  202. package/dist/src/address_space_private.d.ts +43 -0
  203. package/dist/src/address_space_private.js +3 -0
  204. package/dist/src/address_space_private.js.map +1 -0
  205. package/dist/src/alarms_and_conditions/condition.d.ts +5 -0
  206. package/dist/src/alarms_and_conditions/condition.js +79 -0
  207. package/dist/src/alarms_and_conditions/condition.js.map +1 -0
  208. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -0
  209. package/dist/src/alarms_and_conditions/condition_info_impl.js +55 -0
  210. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +1 -0
  211. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +222 -0
  212. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +658 -0
  213. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -0
  214. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +9 -0
  215. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +61 -0
  216. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -0
  217. package/dist/src/alarms_and_conditions/index.d.ts +16 -0
  218. package/dist/src/alarms_and_conditions/index.js +33 -0
  219. package/dist/src/alarms_and_conditions/index.js.map +1 -0
  220. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +44 -0
  221. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +245 -0
  222. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -0
  223. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +93 -0
  224. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +419 -0
  225. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -0
  226. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +26 -0
  227. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +39 -0
  228. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -0
  229. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +44 -0
  230. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +184 -0
  231. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -0
  232. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +155 -0
  233. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1029 -0
  234. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -0
  235. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +14 -0
  236. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +35 -0
  237. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -0
  238. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +24 -0
  239. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +57 -0
  240. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -0
  241. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -0
  242. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +12 -0
  243. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -0
  244. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +23 -0
  245. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +87 -0
  246. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -0
  247. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +11 -0
  248. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +8 -0
  249. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -0
  250. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +79 -0
  251. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +251 -0
  252. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -0
  253. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +24 -0
  254. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +51 -0
  255. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -0
  256. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +19 -0
  257. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +163 -0
  258. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -0
  259. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +46 -0
  260. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +166 -0
  261. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -0
  262. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -0
  263. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +18 -0
  264. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -0
  265. package/dist/src/apply_condition_refresh.d.ts +6 -0
  266. package/dist/src/apply_condition_refresh.js +28 -0
  267. package/dist/src/apply_condition_refresh.js.map +1 -0
  268. package/dist/src/base_node_impl.d.ts +284 -0
  269. package/dist/src/base_node_impl.js +1455 -0
  270. package/dist/src/base_node_impl.js.map +1 -0
  271. package/dist/src/base_node_private.d.ts +81 -0
  272. package/dist/src/base_node_private.js +833 -0
  273. package/dist/src/base_node_private.js.map +1 -0
  274. package/dist/src/check_value_rank_compatibility.d.ts +15 -0
  275. package/dist/src/check_value_rank_compatibility.js +82 -0
  276. package/dist/src/check_value_rank_compatibility.js.map +1 -0
  277. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -0
  278. package/dist/src/data_access/add_dataItem_stuff.js +62 -0
  279. package/dist/src/data_access/add_dataItem_stuff.js.map +1 -0
  280. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -0
  281. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +35 -0
  282. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js.map +1 -0
  283. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -0
  284. package/dist/src/data_access/ua_multistate_discrete_impl.js +131 -0
  285. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -0
  286. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +52 -0
  287. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +254 -0
  288. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +1 -0
  289. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -0
  290. package/dist/src/data_access/ua_two_state_discrete_impl.js +156 -0
  291. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +1 -0
  292. package/dist/src/event_data.d.ts +34 -0
  293. package/dist/src/event_data.js +65 -0
  294. package/dist/src/event_data.js.map +1 -0
  295. package/dist/src/extension_object_array_node.d.ts +23 -0
  296. package/dist/src/extension_object_array_node.js +249 -0
  297. package/dist/src/extension_object_array_node.js.map +1 -0
  298. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -0
  299. package/dist/src/historical_access/address_space_historical_data_node.js +653 -0
  300. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -0
  301. package/dist/src/idx_iterator.d.ts +8 -0
  302. package/dist/src/idx_iterator.js +51 -0
  303. package/dist/src/idx_iterator.js.map +1 -0
  304. package/dist/src/index_current.d.ts +46 -0
  305. package/dist/src/index_current.js +78 -0
  306. package/dist/src/index_current.js.map +1 -0
  307. package/dist/src/namespace_impl.d.ts +456 -0
  308. package/dist/src/namespace_impl.js +1763 -0
  309. package/dist/src/namespace_impl.js.map +1 -0
  310. package/dist/src/namespace_private.d.ts +23 -0
  311. package/dist/src/namespace_private.js +33 -0
  312. package/dist/src/namespace_private.js.map +1 -0
  313. package/dist/src/nodeid_manager.d.ts +37 -0
  314. package/dist/src/nodeid_manager.js +184 -0
  315. package/dist/src/nodeid_manager.js.map +1 -0
  316. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -0
  317. package/dist/src/nodeset_tools/adjust_namespace_array.js +14 -0
  318. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +1 -0
  319. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +18 -0
  320. package/dist/src/nodeset_tools/construct_namespace_dependency.js +141 -0
  321. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +1 -0
  322. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +2 -0
  323. package/dist/src/nodeset_tools/dump_to_bsd.js +165 -0
  324. package/dist/src/nodeset_tools/dump_to_bsd.js.map +1 -0
  325. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +10 -0
  326. package/dist/src/nodeset_tools/nodeset_to_xml.js +1288 -0
  327. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -0
  328. package/dist/src/private_namespace.d.ts +5 -0
  329. package/dist/src/private_namespace.js +20 -0
  330. package/dist/src/private_namespace.js.map +1 -0
  331. package/dist/src/reference_impl.d.ts +43 -0
  332. package/dist/src/reference_impl.js +140 -0
  333. package/dist/src/reference_impl.js.map +1 -0
  334. package/dist/src/role_permissions.d.ts +2 -0
  335. package/dist/src/role_permissions.js +11 -0
  336. package/dist/src/role_permissions.js.map +1 -0
  337. package/dist/src/state_machine/finite_state_machine.d.ts +81 -0
  338. package/dist/src/state_machine/finite_state_machine.js +389 -0
  339. package/dist/src/state_machine/finite_state_machine.js.map +1 -0
  340. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +38 -0
  341. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +251 -0
  342. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -0
  343. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -0
  344. package/dist/src/state_machine/ua_two_state_variable.js +332 -0
  345. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -0
  346. package/dist/src/tool_isSubtypeOf.d.ts +18 -0
  347. package/dist/src/tool_isSubtypeOf.js +125 -0
  348. package/dist/src/tool_isSubtypeOf.js.map +1 -0
  349. package/dist/src/ua_condition_type.d.ts +8 -0
  350. package/dist/src/ua_condition_type.js +3 -0
  351. package/dist/src/ua_condition_type.js.map +1 -0
  352. package/dist/src/ua_data_type_impl.d.ts +89 -0
  353. package/dist/src/ua_data_type_impl.js +369 -0
  354. package/dist/src/ua_data_type_impl.js.map +1 -0
  355. package/dist/src/ua_method_impl.d.ts +42 -0
  356. package/dist/src/ua_method_impl.js +218 -0
  357. package/dist/src/ua_method_impl.js.map +1 -0
  358. package/dist/src/ua_object_impl.d.ts +35 -0
  359. package/dist/src/ua_object_impl.js +169 -0
  360. package/dist/src/ua_object_impl.js.map +1 -0
  361. package/dist/src/ua_object_type_impl.d.ts +50 -0
  362. package/dist/src/ua_object_type_impl.js +127 -0
  363. package/dist/src/ua_object_type_impl.js.map +1 -0
  364. package/dist/src/ua_reference_type_impl.d.ts +45 -0
  365. package/dist/src/ua_reference_type_impl.js +142 -0
  366. package/dist/src/ua_reference_type_impl.js.map +1 -0
  367. package/dist/src/ua_variable_impl.d.ts +380 -0
  368. package/dist/src/ua_variable_impl.js +1739 -0
  369. package/dist/src/ua_variable_impl.js.map +1 -0
  370. package/dist/src/ua_variable_impl_ext_obj.d.ts +23 -0
  371. package/dist/src/ua_variable_impl_ext_obj.js +671 -0
  372. package/dist/src/ua_variable_impl_ext_obj.js.map +1 -0
  373. package/dist/src/ua_variable_type_impl.d.ts +74 -0
  374. package/dist/src/ua_variable_type_impl.js +598 -0
  375. package/dist/src/ua_variable_type_impl.js.map +1 -0
  376. package/dist/src/ua_view_impl.d.ts +19 -0
  377. package/dist/src/ua_view_impl.js +44 -0
  378. package/dist/src/ua_view_impl.js.map +1 -0
  379. package/dist/tsconfig_common.tsbuildinfo +1 -0
  380. package/distHelpers/add_event_generator_object.d.ts +3 -0
  381. package/{test_helpers/add_event_generator_object.ts → distHelpers/add_event_generator_object.js} +16 -22
  382. package/distHelpers/add_event_generator_object.js.map +1 -0
  383. package/distHelpers/alarms_and_conditions_demo.d.ts +9 -0
  384. package/{test_helpers/alarms_and_conditions_demo.ts → distHelpers/alarms_and_conditions_demo.js} +21 -56
  385. package/distHelpers/alarms_and_conditions_demo.js.map +1 -0
  386. package/distHelpers/assertHasMatchingReference.d.ts +19 -0
  387. package/{test_helpers/assertHasMatchingReference.ts → distHelpers/assertHasMatchingReference.js} +12 -14
  388. package/distHelpers/assertHasMatchingReference.js.map +1 -0
  389. package/distHelpers/boiler_system.d.ts +113 -0
  390. package/{test_helpers/boiler_system.ts → distHelpers/boiler_system.js} +81 -295
  391. package/distHelpers/boiler_system.js.map +1 -0
  392. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -0
  393. package/{test_helpers/create_minimalist_address_space_nodeset.ts → distHelpers/create_minimalist_address_space_nodeset.js} +51 -87
  394. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -0
  395. package/distHelpers/date_utils.d.ts +3 -0
  396. package/distHelpers/date_utils.js +10 -0
  397. package/distHelpers/date_utils.js.map +1 -0
  398. package/distHelpers/dump_statemachine.d.ts +0 -0
  399. package/distHelpers/dump_statemachine.js +128 -0
  400. package/distHelpers/dump_statemachine.js.map +1 -0
  401. package/distHelpers/get_address_space_fixture.d.ts +1 -0
  402. package/{test_helpers/get_address_space_fixture.ts → distHelpers/get_address_space_fixture.js} +8 -7
  403. package/distHelpers/get_address_space_fixture.js.map +1 -0
  404. package/distHelpers/get_mini_address_space.d.ts +7 -0
  405. package/distHelpers/get_mini_address_space.js +37 -0
  406. package/distHelpers/get_mini_address_space.js.map +1 -0
  407. package/distHelpers/index.js +29 -0
  408. package/distHelpers/index.js.map +1 -0
  409. package/distHelpers/mock_session.d.ts +10 -0
  410. package/distHelpers/mock_session.js +26 -0
  411. package/distHelpers/mock_session.js.map +1 -0
  412. package/distNodeJS/generate_address_space.d.ts +6 -0
  413. package/distNodeJS/generate_address_space.js +53 -0
  414. package/distNodeJS/generate_address_space.js.map +1 -0
  415. package/distNodeJS/index.js +18 -0
  416. package/distNodeJS/index.js.map +1 -0
  417. package/package.json +49 -38
  418. package/source/helpers/dump_tools.ts +92 -0
  419. package/src/nodeset_tools/dump_to_bsd.ts +198 -0
  420. package/.mocharc.yml +0 -12
  421. package/generate.js +0 -1
  422. package/source_nodejs/generate_address_space.ts +0 -60
  423. package/test_helpers/date_utils.ts +0 -5
  424. package/test_helpers/get_mini_address_space.ts +0 -42
  425. package/test_helpers/mock_session.ts +0 -34
  426. package/test_helpers/test_fixtures/dataType_in_separateNamespace.xml +0 -150
  427. package/test_helpers/test_fixtures/dataType_in_separateNamespace_basic.xml +0 -57
  428. package/test_helpers/test_fixtures/dataType_in_separateNamespace_mix.xml +0 -136
  429. package/test_helpers/test_fixtures/dataType_issue.xml +0 -80
  430. package/test_helpers/test_fixtures/dataType_withEnumeration.xml +0 -82
  431. package/test_helpers/test_fixtures/dataType_with_isOptionSet.xml +0 -194
  432. package/test_helpers/test_fixtures/dataType_with_qualifiedname.xml +0 -71
  433. package/test_helpers/test_fixtures/dataType_with_recursive_structure.xml +0 -155
  434. package/test_helpers/test_fixtures/dataType_with_structures.xml +0 -605
  435. package/test_helpers/test_fixtures/dataType_with_union.xml +0 -90
  436. package/test_helpers/test_fixtures/datatype_as_per_1.04.xml +0 -118
  437. package/test_helpers/test_fixtures/datatype_with_allow_subtype.xml +0 -104
  438. package/test_helpers/test_fixtures/eurange_issue.xml +0 -74
  439. package/test_helpers/test_fixtures/example_issue1096.xml +0 -267
  440. package/test_helpers/test_fixtures/fixture_empty_nodeset2.xml +0 -106
  441. package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +0 -1305
  442. package/test_helpers/test_fixtures/fixuture_nodeset_objects_with_some_methods.xml +0 -370
  443. package/test_helpers/test_fixtures/issue_1132_variable_with_nodeid_value.xml +0 -68
  444. package/test_helpers/test_fixtures/issue_846.xml +0 -3172
  445. package/test_helpers/test_fixtures/issue_899_variable_with_nodeid_value.xml +0 -33
  446. package/test_helpers/test_fixtures/mini.Node.Set2.xml +0 -4736
  447. package/test_helpers/test_fixtures/mini.nodeset.withVariousVariables.xml +0 -196
  448. package/test_helpers/test_fixtures/minimalist_nodeset_with_models.xml +0 -8
  449. package/test_helpers/test_fixtures/minimalist_nodeset_with_models_more_complex.xml +0 -20
  450. package/test_helpers/test_fixtures/nodeset_no_aliases.xml +0 -30
  451. package/test_helpers/test_fixtures/nodeset_no_aliases_with_aliases.xml +0 -31
  452. package/test_helpers/test_fixtures/nodeset_with_analog_items.xml +0 -45
  453. package/test_helpers/test_fixtures/nodeset_with_guid.xml +0 -1442
  454. package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +0 -31
  455. package/test_helpers/test_fixtures/nodeset_with_special_char.xml +0 -34
  456. package/test_helpers/test_fixtures/nodeset_with_utf8_special_characters.xml +0 -20
  457. package/test_helpers/test_fixtures/variable_with_value.xml +0 -143
  458. package/test_helpers/test_fixtures/variabletype_with_value.xml +0 -324
  459. /package/{test_helpers/index.ts → distHelpers/index.d.ts} +0 -0
  460. /package/{source_nodejs/index.ts → distNodeJS/index.d.ts} +0 -0
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeElement = exports.addElement = exports.bindExtObjArrayNode = exports.createExtObjArrayNode = void 0;
4
+ /**
5
+ * @module node-opcua-address-space.Private
6
+ */
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
9
+ const node_opcua_debug_1 = require("node-opcua-debug");
10
+ const node_opcua_variant_1 = require("node-opcua-variant");
11
+ const node_opcua_variant_2 = require("node-opcua-variant");
12
+ const node_opcua_variant_3 = require("node-opcua-variant");
13
+ const node_opcua_extension_object_1 = require("node-opcua-extension-object");
14
+ const ua_variable_impl_1 = require("./ua_variable_impl");
15
+ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
16
+ const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
17
+ const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
18
+ /*
19
+ * define a complex Variable containing a array of extension objects
20
+ * each element of the array is also accessible as a component variable.
21
+ *
22
+ */
23
+ function getExtObjArrayNodeValue() {
24
+ return new node_opcua_variant_1.Variant({
25
+ arrayType: node_opcua_variant_3.VariantArrayType.Array,
26
+ dataType: node_opcua_variant_2.DataType.ExtensionObject,
27
+ value: this.$$extensionObjectArray
28
+ });
29
+ }
30
+ function removeElementByIndex(uaArrayVariableNode, elementIndex) {
31
+ const _array = uaArrayVariableNode.$$extensionObjectArray;
32
+ (0, node_opcua_assert_1.assert)(typeof elementIndex === "number");
33
+ const addressSpace = uaArrayVariableNode.addressSpace;
34
+ const extObj = _array[elementIndex];
35
+ const browseName = uaArrayVariableNode.$$getElementBrowseName(extObj, elementIndex);
36
+ // remove element from global array (inefficient)
37
+ uaArrayVariableNode.$$extensionObjectArray.splice(elementIndex, 1);
38
+ if (uaArrayVariableNode.$$extensionObjectArray !== uaArrayVariableNode.$dataValue.value.value) {
39
+ // throw new Error("internal error");
40
+ }
41
+ uaArrayVariableNode.touchValue();
42
+ // remove matching component
43
+ const node = uaArrayVariableNode.getComponentByName(browseName);
44
+ if (!node) {
45
+ throw new Error(" cannot find component ");
46
+ }
47
+ const hasComponent = uaArrayVariableNode.addressSpace.findReferenceType("HasComponent");
48
+ // remove the hasComponent reference toward node
49
+ uaArrayVariableNode.removeReference({
50
+ isForward: true,
51
+ nodeId: node.nodeId,
52
+ referenceType: hasComponent.nodeId
53
+ });
54
+ // now check if node has still some parent
55
+ const parents = node.findReferencesEx("HasChild", node_opcua_data_model_1.BrowseDirection.Inverse);
56
+ if (parents.length === 0) {
57
+ addressSpace.deleteNode(node.nodeId);
58
+ }
59
+ }
60
+ /**
61
+ *
62
+ * create a node Variable that contains a array of ExtensionObject of a given type
63
+ */
64
+ function createExtObjArrayNode(parentFolder, options) {
65
+ (0, node_opcua_assert_1.assert)(typeof options.variableType === "string");
66
+ (0, node_opcua_assert_1.assert)(typeof options.indexPropertyName === "string");
67
+ const addressSpace = parentFolder.addressSpace;
68
+ const namespace = parentFolder.namespace;
69
+ const complexVariableType = addressSpace.findVariableType(options.complexVariableType);
70
+ // istanbul ignore next
71
+ if (!complexVariableType) {
72
+ throw new Error("cannot find complex variable type");
73
+ }
74
+ (0, node_opcua_assert_1.assert)(!complexVariableType.nodeId.isEmpty());
75
+ const variableType = addressSpace.findVariableType(options.variableType);
76
+ if (!variableType) {
77
+ throw new Error("cannot find variable Type");
78
+ }
79
+ (0, node_opcua_assert_1.assert)(!variableType.nodeId.isEmpty());
80
+ const structure = addressSpace.findDataType("Structure");
81
+ (0, node_opcua_assert_1.assert)(structure, "Structure Type not found: please check your nodeset file");
82
+ const dataType = addressSpace.findDataType(variableType.dataType);
83
+ // istanbul ignore next
84
+ if (!dataType) {
85
+ errorLog(variableType.toString());
86
+ throw new Error("cannot find Data Type");
87
+ }
88
+ (0, node_opcua_assert_1.assert)(dataType.isSubtypeOf(structure), "expecting a structure (= ExtensionObject) here ");
89
+ const inner_options = {
90
+ componentOf: parentFolder,
91
+ browseName: options.browseName,
92
+ dataType: dataType.nodeId,
93
+ typeDefinition: complexVariableType.nodeId,
94
+ value: { dataType: node_opcua_variant_2.DataType.ExtensionObject, value: [], arrayType: node_opcua_variant_3.VariantArrayType.Array },
95
+ valueRank: 1
96
+ };
97
+ const uaArrayVariableNode = namespace.addVariable(inner_options);
98
+ bindExtObjArrayNode(uaArrayVariableNode, options.variableType, options.indexPropertyName);
99
+ return uaArrayVariableNode;
100
+ }
101
+ exports.createExtObjArrayNode = createExtObjArrayNode;
102
+ function _getElementBrowseName(extObj, index) {
103
+ const indexPropertyName1 = this.$$indexPropertyName;
104
+ if (!Object.prototype.hasOwnProperty.call(extObj, indexPropertyName1)) {
105
+ console.log(" extension object do not have ", indexPropertyName1, extObj);
106
+ }
107
+ // assert(extObj.constructor === addressSpace.constructExtensionObject(dataType));
108
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(extObj, indexPropertyName1));
109
+ const browseName = extObj[indexPropertyName1].toString();
110
+ return browseName;
111
+ }
112
+ ;
113
+ function bindExtObjArrayNode(uaArrayVariableNode, variableTypeNodeId, indexPropertyName) {
114
+ (0, node_opcua_assert_1.assert)(uaArrayVariableNode.valueRank === 1, "expecting a one dimension array");
115
+ const addressSpace = uaArrayVariableNode.addressSpace;
116
+ const variableType = addressSpace.findVariableType(variableTypeNodeId);
117
+ // istanbul ignore next
118
+ if (!variableType || variableType.nodeId.isEmpty()) {
119
+ throw new Error("Cannot find VariableType " + variableTypeNodeId.toString());
120
+ }
121
+ const structure = addressSpace.findDataType("Structure");
122
+ // istanbul ignore next
123
+ if (!structure) {
124
+ throw new Error("Structure Type not found: please check your nodeset file");
125
+ }
126
+ let dataType = addressSpace.findDataType(variableType.dataType);
127
+ // istanbul ignore next
128
+ if (!dataType) {
129
+ throw new Error("Cannot find DataType " + variableType.dataType.toString());
130
+ }
131
+ (0, node_opcua_assert_1.assert)(dataType.isSubtypeOf(structure), "expecting a structure (= ExtensionObject) here ");
132
+ (0, node_opcua_assert_1.assert)(!uaArrayVariableNode.$$variableType, "uaArrayVariableNode has already been bound !");
133
+ uaArrayVariableNode.$$variableType = variableType;
134
+ // verify that an object with same doesn't already exist
135
+ dataType = addressSpace.findDataType(variableType.dataType);
136
+ (0, node_opcua_assert_1.assert)(dataType.isSubtypeOf(structure), "expecting a structure (= ExtensionObject) here ");
137
+ (0, node_opcua_assert_1.assert)(!uaArrayVariableNode.$$extensionObjectArray, "UAVariable ExtensionObject array already bounded");
138
+ uaArrayVariableNode.$$dataType = dataType;
139
+ uaArrayVariableNode.$$extensionObjectArray = [];
140
+ uaArrayVariableNode.$$indexPropertyName = indexPropertyName;
141
+ uaArrayVariableNode.$$getElementBrowseName = _getElementBrowseName;
142
+ uaArrayVariableNode.$dataValue.value.value = uaArrayVariableNode.$$extensionObjectArray;
143
+ uaArrayVariableNode.$dataValue.value.arrayType = node_opcua_variant_3.VariantArrayType.Array;
144
+ const bindOptions = {
145
+ get: getExtObjArrayNodeValue,
146
+ set: undefined // readonly
147
+ };
148
+ // bind the readonly
149
+ uaArrayVariableNode.bindVariable(bindOptions, true);
150
+ return uaArrayVariableNode;
151
+ }
152
+ exports.bindExtObjArrayNode = bindExtObjArrayNode;
153
+ /**
154
+ * @method addElement
155
+ * add a new element in a ExtensionObject Array variable
156
+ * @param options {Object} data used to construct the underlying ExtensionObject
157
+ * @param uaArrayVariableNode {UAVariable}
158
+ * @return {UAVariable}
159
+ *
160
+ */
161
+ function addElement(options, uaArrayVariableNode) {
162
+ var _a;
163
+ (0, node_opcua_assert_1.assert)(uaArrayVariableNode, " must provide an UAVariable containing the array");
164
+ // verify that arr has been created correctly
165
+ (0, node_opcua_assert_1.assert)(!!uaArrayVariableNode.$$variableType && !!uaArrayVariableNode.$$dataType, "did you create the array Node with createExtObjArrayNode ?");
166
+ (0, node_opcua_assert_1.assert)(uaArrayVariableNode.$$dataType.nodeClass === node_opcua_data_model_1.NodeClass.DataType);
167
+ const addressSpace = uaArrayVariableNode.addressSpace;
168
+ const Constructor = addressSpace.getExtensionObjectConstructor(uaArrayVariableNode.$$dataType);
169
+ (0, node_opcua_assert_1.assert)(Constructor instanceof Function);
170
+ let extensionObject;
171
+ let elVar = null;
172
+ let browseName;
173
+ if (options instanceof ua_variable_impl_1.UAVariableImpl) {
174
+ elVar = options;
175
+ extensionObject = elVar.$extensionObject; // get shared extension object
176
+ (0, node_opcua_assert_1.assert)(extensionObject instanceof Constructor, "the provided variable must expose a Extension Object of the expected type ");
177
+ // add a reference
178
+ uaArrayVariableNode.addReference({
179
+ isForward: true,
180
+ nodeId: elVar.nodeId,
181
+ referenceType: "HasComponent"
182
+ });
183
+ // xx elVar.bindExtensionObject();
184
+ }
185
+ else {
186
+ if (options instanceof node_opcua_extension_object_1.ExtensionObject) {
187
+ // extension object has already been created
188
+ extensionObject = options;
189
+ }
190
+ else {
191
+ extensionObject = addressSpace.constructExtensionObject(uaArrayVariableNode.$$dataType, options);
192
+ }
193
+ const index = ((_a = uaArrayVariableNode.$$extensionObjectArray) === null || _a === void 0 ? void 0 : _a.length) || 0;
194
+ browseName = uaArrayVariableNode.$$getElementBrowseName(extensionObject, index);
195
+ elVar = uaArrayVariableNode.$$variableType.instantiate({
196
+ browseName,
197
+ componentOf: uaArrayVariableNode.nodeId,
198
+ value: { dataType: node_opcua_variant_2.DataType.ExtensionObject, value: extensionObject }
199
+ });
200
+ elVar.bindExtensionObject(extensionObject, { force: true });
201
+ }
202
+ if (uaArrayVariableNode.$$extensionObjectArray !== uaArrayVariableNode.$dataValue.value.value) {
203
+ // throw new Error("internal error");
204
+ }
205
+ // also add the value inside
206
+ uaArrayVariableNode.$$extensionObjectArray.push(elVar.$extensionObject);
207
+ uaArrayVariableNode.touchValue();
208
+ return elVar;
209
+ }
210
+ exports.addElement = addElement;
211
+ /**
212
+ *
213
+ */
214
+ function removeElement(uaArrayVariableNode, element) {
215
+ (0, node_opcua_assert_1.assert)(element, "removeElement: element must exist");
216
+ const _array = uaArrayVariableNode.$$extensionObjectArray;
217
+ // istanbul ignore next
218
+ if (_array.length === 0) {
219
+ throw new Error(" cannot remove an element from an empty array ");
220
+ }
221
+ let elementIndex = -1;
222
+ if (typeof element === "number") {
223
+ // find element by index
224
+ elementIndex = element;
225
+ (0, node_opcua_assert_1.assert)(elementIndex >= 0 && elementIndex < _array.length);
226
+ }
227
+ else if (typeof element === "function") {
228
+ // find element by functor
229
+ elementIndex = _array.findIndex(element);
230
+ }
231
+ else if (element && element.nodeClass) {
232
+ // find element by name
233
+ const browseNameToFind = element.browseName.name.toString();
234
+ elementIndex = _array.findIndex((obj, i) => {
235
+ const browseName = uaArrayVariableNode.$$getElementBrowseName(obj, elementIndex).toString();
236
+ return browseName === browseNameToFind;
237
+ });
238
+ }
239
+ else {
240
+ throw new Error("Unsupported anymore!!! please use a functor instead");
241
+ }
242
+ // istanbul ignore next
243
+ if (elementIndex < 0) {
244
+ throw new Error("removeElement: cannot find element matching " + element.toString());
245
+ }
246
+ return removeElementByIndex(uaArrayVariableNode, elementIndex);
247
+ }
248
+ exports.removeElement = removeElement;
249
+ //# sourceMappingURL=extension_object_array_node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension_object_array_node.js","sourceRoot":"","sources":["../../src/extension_object_array_node.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,yDAA2C;AAE3C,iEAAmE;AACnE,uDAAgF;AAEhF,2DAA6C;AAC7C,2DAA8C;AAC9C,2DAAsD;AAEtD,6EAA8D;AAE9D,yDAAoD;AAGpD,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C;;;;GAIG;AAEH,SAAS,uBAAuB;IAC5B,OAAO,IAAI,4BAAO,CAAC;QACf,SAAS,EAAE,qCAAgB,CAAC,KAAK;QACjC,QAAQ,EAAE,6BAAQ,CAAC,eAAe;QAClC,KAAK,EAAE,IAAI,CAAC,sBAAsB;KACrC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,oBAAoB,CAA4B,mBAA8C,EAAE,YAAoB;IACzH,MAAM,MAAM,GAAG,mBAAmB,CAAC,sBAAsB,CAAC;IAE1D,IAAA,0BAAM,EAAC,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC;IAEzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEpF,iDAAiD;IACjD,mBAAmB,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACnE,IAAG,mBAAmB,CAAC,sBAAsB,KAAK,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9F,wCAAwC;KACvC;IACD,mBAAmB,CAAC,UAAU,EAAE,CAAC;IAEjC,4BAA4B;IAC5B,MAAM,IAAI,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,CAAC,IAAI,EAAE;QACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAqB,CAAC;IAE5G,gDAAgD;IAChD,mBAAmB,CAAC,eAAe,CAAC;QAChC,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,YAAY,CAAC,MAAM;KACrC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CAA4B,YAAsB,EAAE,OAAY;IACjG,IAAA,0BAAM,EAAC,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC;IACjD,IAAA,0BAAM,EAAC,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAEzC,MAAM,mBAAmB,GAAG,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvF,uBAAuB;IACvB,IAAI,CAAC,mBAAmB,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACxD;IACD,IAAA,0BAAM,EAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACzE,IAAI,CAAC,YAAY,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAChD;IACD,IAAA,0BAAM,EAAC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACzD,IAAA,0BAAM,EAAC,SAAS,EAAE,0DAA0D,CAAC,CAAC;IAE9E,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAElE,uBAAuB;IACvB,IAAI,CAAC,QAAQ,EAAE;QACX,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC5C;IAED,IAAA,0BAAM,EAAC,QAAQ,CAAC,WAAW,CAAC,SAAgB,CAAC,EAAE,iDAAiD,CAAC,CAAC;IAElG,MAAM,aAAa,GAAG;QAClB,WAAW,EAAE,YAAY;QAEzB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,cAAc,EAAE,mBAAmB,CAAC,MAAM;QAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,6BAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,qCAAgB,CAAC,KAAK,EAAE;QAC3F,SAAS,EAAE,CAAC;KACf,CAAC;IAEF,MAAM,mBAAmB,GAAG,SAAS,CAAC,WAAW,CAAC,aAAa,CAA8B,CAAC;IAE9F,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE1F,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAhDD,sDAgDC;AAED,SAAS,qBAAqB,CACQ,MAAuB,EAAE,KAAwB;IACnF,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAEpD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE;QACnE,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;KAC7E;IACD,kFAAkF;IAClF,IAAA,0BAAM,EAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAI,MAAc,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClE,OAAO,UAAU,CAAC;AACtB,CAAC;AAAA,CAAC;AAEF,SAAgB,mBAAmB,CAC/B,mBAA8C,EAC9C,kBAAmC,EACnC,iBAAyB;IAGzB,IAAA,0BAAM,EAAC,mBAAmB,CAAC,SAAS,KAAK,CAAC,EAAE,iCAAiC,CAAC,CAAC;IAE/E,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;IAEtD,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACvE,uBAAuB;IACvB,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;KAChF;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACzD,uBAAuB;IACvB,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC/E;IAED,IAAI,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChE,uBAAuB;IACvB,IAAI,CAAC,QAAQ,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC/E;IAED,IAAA,0BAAM,EAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,iDAAiD,CAAC,CAAC;IAE3F,IAAA,0BAAM,EAAC,CAAC,mBAAmB,CAAC,cAAc,EAAE,8CAA8C,CAAC,CAAC;IAE5F,mBAAmB,CAAC,cAAc,GAAG,YAAY,CAAC;IAElD,wDAAwD;IACxD,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAgB,CAAC;IAC3E,IAAA,0BAAM,EAAC,QAAS,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,iDAAiD,CAAC,CAAC;IAC5F,IAAA,0BAAM,EAAC,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,kDAAkD,CAAC,CAAC;IACxG,mBAAmB,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC1C,mBAAmB,CAAC,sBAAsB,GAAG,EAAE,CAAC;IAChD,mBAAmB,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;IAC5D,mBAAmB,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;IACnE,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAI,mBAAmB,CAAC,sBAAsB,CAAC;IACzF,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,qCAAgB,CAAC,KAAK,CAAC;IAExE,MAAM,WAAW,GAAQ;QACrB,GAAG,EAAE,uBAAuB;QAC5B,GAAG,EAAE,SAAS,CAAC,WAAW;KAC7B,CAAC;IACF,oBAAoB;IACpB,mBAAmB,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACpD,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AApDD,kDAoDC;AAED;;;;;;;GAOG;AACH,SAAgB,UAAU,CACtB,OAAmE,EACnE,mBAA8C;;IAE9C,IAAA,0BAAM,EAAC,mBAAmB,EAAE,kDAAkD,CAAC,CAAC;IAChF,6CAA6C;IAC7C,IAAA,0BAAM,EACF,CAAC,CAAC,mBAAmB,CAAC,cAAc,IAAI,CAAC,CAAC,mBAAmB,CAAC,UAAU,EACxE,4DAA4D,CAC/D,CAAC;IACF,IAAA,0BAAM,EAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;IACtD,MAAM,WAAW,GAAG,YAAY,CAAC,6BAA6B,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/F,IAAA,0BAAM,EAAC,WAAW,YAAY,QAAQ,CAAC,CAAC;IAExC,IAAI,eAAkB,CAAC;IACvB,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,UAAU,CAAC;IAEf,IAAI,OAAO,YAAY,iCAAc,EAAE;QACnC,KAAK,GAAG,OAAO,CAAC;QAChB,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,8BAA8B;QAExE,IAAA,0BAAM,EACF,eAAe,YAAY,WAAW,EACtC,4EAA4E,CAC/E,CAAC;QACF,kBAAkB;QAClB,mBAAmB,CAAC,YAAY,CAAC;YAC7B,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,aAAa,EAAE,cAAc;SAChC,CAAC,CAAC;QACH,kCAAkC;KACrC;SAAM;QACH,IAAI,OAAO,YAAY,6CAAe,EAAE;YACpC,4CAA4C;YAC5C,eAAe,GAAG,OAAY,CAAC;SAClC;aAAM;YACH,eAAe,GAAG,YAAY,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAM,CAAC;SACzG;QACD,MAAM,KAAK,GAAG,CAAA,MAAA,mBAAmB,CAAC,sBAAsB,0CAAE,MAAM,KAAI,CAAC,CAAC;QACtE,UAAU,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAChF,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC;YACnD,UAAU;YACV,WAAW,EAAE,mBAAmB,CAAC,MAAM;YACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,6BAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;SACxE,CAAmB,CAAC;QACrB,KAAK,CAAC,mBAAmB,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KAC/D;IAED,IAAG,mBAAmB,CAAC,sBAAsB,KAAK,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9F,wCAAwC;KACvC;IACD,4BAA4B;IAC5B,mBAAmB,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACxE,mBAAmB,CAAC,UAAU,EAAE,CAAC;IAEjC,OAAO,KAAK,CAAC;AACjB,CAAC;AA5DD,gCA4DC;AAED;;GAEG;AACH,SAAgB,aAAa,CACzB,mBAA8C,EAC9C,OAAkD;IAElD,IAAA,0BAAM,EAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,mBAAmB,CAAC,sBAAsB,CAAC;IAE1D,uBAAuB;IACvB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACrE;IACD,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC7B,wBAAwB;QACxB,YAAY,GAAG,OAAO,CAAC;QACvB,IAAA,0BAAM,EAAC,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;KAC7D;SAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QACtC,0BAA0B;QAC1B,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;KAC5C;SAAM,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;QACrC,uBAAuB;QACvB,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,IAAK,CAAC,QAAQ,EAAE,CAAC;QAC7D,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,CAAS,EAAE,EAAE;YACpD,MAAM,UAAU,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5F,OAAO,UAAU,KAAK,gBAAgB,CAAC;QAC3C,CAAC,CAAC,CAAC;KACN;SAAM;QACH,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;KAC1E;IAED,uBAAuB;IACvB,IAAI,YAAY,GAAG,CAAC,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KACxF;IACD,OAAO,oBAAoB,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAnCD,sCAmCC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @module node-opcua-address-space
3
+ * @class IAddressSpace
4
+ */
5
+ import { DataValue } from "node-opcua-data-value";
6
+ import { ReadRawModifiedDetails } from "node-opcua-service-history";
7
+ import { CallbackT } from "node-opcua-status-code";
8
+ import { IAddressSpace, IVariableHistorian, IVariableHistorianOptions, UAVariable } from "node-opcua-address-space-base";
9
+ import { UAVariableImpl } from "../ua_variable_impl";
10
+ export declare class VariableHistorian implements IVariableHistorian {
11
+ readonly node: UAVariable;
12
+ private readonly _timeline;
13
+ private readonly _maxOnlineValues;
14
+ private lastDate;
15
+ private lastDatePicoSeconds;
16
+ constructor(node: UAVariable, options: IVariableHistorianOptions);
17
+ push(newDataValue: DataValue): Promise<void>;
18
+ extractDataValues(historyReadRawModifiedDetails: ReadRawModifiedDetails, maxNumberToExtract: number, isReversed: boolean, reverseDataValue: boolean, callback: CallbackT<DataValue[]>): void;
19
+ }
20
+ /**
21
+ * @method installHistoricalDataNode
22
+ * @param node UAVariable
23
+ * @param [options] {Object}
24
+ * @param [options.maxOnlineValues = 1000]
25
+ */
26
+ export declare function AddressSpace_installHistoricalDataNode(this: IAddressSpace, node: UAVariableImpl, options?: IVariableHistorianOptions): void;