node-opcua-address-space 2.76.1 → 2.76.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 (289) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +33 -33
  8. package/dist/source/helpers/argument_list.js +258 -258
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -0
  12. package/dist/source/helpers/check_event_clause.js +53 -0
  13. package/dist/source/helpers/check_event_clause.js.map +1 -0
  14. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  15. package/dist/source/helpers/coerce_enum_value.js +33 -33
  16. package/dist/source/helpers/dump_tools.d.ts +14 -14
  17. package/dist/source/helpers/dump_tools.js +78 -78
  18. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  19. package/dist/source/helpers/ensure_secure_access.js +76 -76
  20. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  21. package/dist/source/helpers/make_optionals_map.js +29 -29
  22. package/dist/source/helpers/multiform_func.d.ts +11 -11
  23. package/dist/source/helpers/multiform_func.js +75 -75
  24. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  25. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  26. package/dist/source/index.d.ts +56 -56
  27. package/dist/source/index.js +83 -83
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +19 -19
  29. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  30. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +193 -193
  31. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +2 -2
  32. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -12
  33. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +2 -2
  34. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +10 -10
  35. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +2 -2
  36. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -7
  37. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +2 -2
  38. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -7
  39. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +2 -2
  40. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -4
  41. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +2 -2
  42. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -4
  43. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +2 -2
  44. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -9
  45. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +2 -2
  46. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -4
  47. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +2 -2
  48. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -4
  49. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +2 -2
  50. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -20
  51. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +2 -2
  52. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -23
  53. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +2 -2
  54. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -32
  55. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +2 -2
  56. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -19
  57. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +2 -2
  58. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +42 -42
  59. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +2 -2
  60. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -7
  61. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +25 -25
  62. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -5
  63. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +2 -2
  64. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -20
  65. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +2 -2
  66. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -26
  67. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +2 -2
  68. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -8
  69. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +2 -2
  70. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -10
  71. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +2 -2
  72. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  73. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  74. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  75. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  76. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  77. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  78. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  79. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  80. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  81. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  82. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  83. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  84. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  85. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  86. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -30
  87. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +2 -2
  88. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  89. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  90. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  91. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  92. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  93. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  94. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  95. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  96. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  97. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  98. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  99. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  100. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  101. package/dist/source/loader/load_nodeset2.js +1461 -1461
  102. package/dist/source/loader/make_semver_compatible.d.ts +6 -6
  103. package/dist/source/loader/make_semver_compatible.js +25 -25
  104. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  105. package/dist/source/loader/make_xml_extension_object_parser.js +325 -325
  106. package/dist/source/loader/namespace_post_step.d.ts +10 -10
  107. package/dist/source/loader/namespace_post_step.js +61 -61
  108. package/dist/source/loader/register_node_promoter.d.ts +2 -2
  109. package/dist/source/loader/register_node_promoter.js +9 -9
  110. package/dist/source/namespace.d.ts +6 -6
  111. package/dist/source/namespace.js +2 -2
  112. package/dist/source/namespace_alarm_and_condition.d.ts +32 -32
  113. package/dist/source/namespace_alarm_and_condition.js +2 -2
  114. package/dist/source/namespace_data_access.d.ts +42 -42
  115. package/dist/source/namespace_data_access.js +2 -2
  116. package/dist/source/namespace_machine_state.d.ts +7 -7
  117. package/dist/source/namespace_machine_state.js +2 -2
  118. package/dist/source/pseudo_session.d.ts +55 -55
  119. package/dist/source/pseudo_session.js +203 -203
  120. package/dist/source/session_context.d.ts +111 -111
  121. package/dist/source/session_context.js +265 -265
  122. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  123. package/dist/source/set_namespace_meta_data.js +59 -59
  124. package/dist/source/ua_root_folder.d.ts +9 -9
  125. package/dist/source/ua_root_folder.js +2 -2
  126. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  127. package/dist/source/ua_two_state_variable_ex.js +2 -2
  128. package/dist/source/xml_writer.d.ts +9 -9
  129. package/dist/source/xml_writer.js +2 -2
  130. package/dist/src/address_space.d.ts +392 -392
  131. package/dist/src/address_space.js +1392 -1392
  132. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  133. package/dist/src/address_space_change_event_tools.js +149 -149
  134. package/dist/src/address_space_private.d.ts +43 -43
  135. package/dist/src/address_space_private.js +2 -2
  136. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -0
  137. package/dist/src/alarms_and_conditions/check_where_clause.js +110 -0
  138. package/dist/src/alarms_and_conditions/check_where_clause.js.map +1 -0
  139. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  140. package/dist/src/alarms_and_conditions/condition.js +78 -78
  141. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -0
  142. package/dist/src/alarms_and_conditions/condition_info.js +55 -0
  143. package/dist/src/alarms_and_conditions/condition_info.js.map +1 -0
  144. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -26
  145. package/dist/src/alarms_and_conditions/condition_info_impl.js +54 -54
  146. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -0
  147. package/dist/src/alarms_and_conditions/condition_snapshot.js +667 -0
  148. package/dist/src/alarms_and_conditions/condition_snapshot.js.map +1 -0
  149. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +222 -222
  150. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +657 -657
  151. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +9 -9
  152. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +61 -61
  153. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -0
  154. package/dist/src/alarms_and_conditions/extract_event_fields.js +90 -0
  155. package/dist/src/alarms_and_conditions/extract_event_fields.js.map +1 -0
  156. package/dist/src/alarms_and_conditions/index.d.ts +16 -16
  157. package/dist/src/alarms_and_conditions/index.js +32 -32
  158. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +44 -44
  159. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  160. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +93 -93
  161. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +419 -419
  162. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +26 -26
  163. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  164. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +44 -44
  165. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +183 -183
  166. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +153 -153
  167. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1028 -1028
  168. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +14 -14
  169. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +34 -34
  170. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +24 -24
  171. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  172. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -11
  173. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  174. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +23 -23
  175. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  176. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +11 -11
  177. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  178. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +79 -79
  179. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  180. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +24 -24
  181. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  182. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +19 -19
  183. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  184. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +46 -46
  185. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +166 -166
  186. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -18
  187. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  188. package/dist/src/apply_condition_refresh.d.ts +6 -6
  189. package/dist/src/apply_condition_refresh.js +27 -27
  190. package/dist/src/base_node_impl.d.ts +281 -281
  191. package/dist/src/base_node_impl.js +1395 -1395
  192. package/dist/src/base_node_private.d.ts +61 -61
  193. package/dist/src/base_node_private.js +705 -705
  194. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  195. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  196. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  197. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  198. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  199. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  200. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -0
  201. package/dist/src/data_access/ua_multistate_value_discrete.js +250 -0
  202. package/dist/src/data_access/ua_multistate_value_discrete.js.map +1 -0
  203. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +51 -51
  204. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +249 -249
  205. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -0
  206. package/dist/src/data_access/ua_two_state_discrete.js +154 -0
  207. package/dist/src/data_access/ua_two_state_discrete.js.map +1 -0
  208. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -25
  209. package/dist/src/data_access/ua_two_state_discrete_impl.js +153 -153
  210. package/dist/src/event_data.d.ts +34 -34
  211. package/dist/src/event_data.js +64 -64
  212. package/dist/src/extension_object_array_node.d.ts +61 -61
  213. package/dist/src/extension_object_array_node.js +276 -276
  214. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  215. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  216. package/dist/src/index_current.d.ts +43 -43
  217. package/dist/src/index_current.js +74 -74
  218. package/dist/src/namespace_impl.d.ts +461 -461
  219. package/dist/src/namespace_impl.js +1732 -1732
  220. package/dist/src/namespace_private.d.ts +21 -21
  221. package/dist/src/namespace_private.js +32 -32
  222. package/dist/src/nodeid_manager.d.ts +36 -36
  223. package/dist/src/nodeid_manager.js +197 -197
  224. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  225. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  226. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  227. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  228. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  229. package/dist/src/nodeset_tools/nodeset_to_xml.js +1155 -1155
  230. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  231. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  232. package/dist/src/reference_impl.d.ts +43 -43
  233. package/dist/src/reference_impl.js +139 -139
  234. package/dist/src/role_permissions.d.ts +2 -2
  235. package/dist/src/role_permissions.js +10 -10
  236. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  237. package/dist/src/state_machine/finite_state_machine.js +353 -353
  238. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +38 -38
  239. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  240. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  241. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  242. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  243. package/dist/src/tool_isSupertypeOf.js +108 -108
  244. package/dist/src/ua_condition_type.d.ts +8 -8
  245. package/dist/src/ua_condition_type.js +2 -2
  246. package/dist/src/ua_data_type_impl.d.ts +93 -93
  247. package/dist/src/ua_data_type_impl.js +371 -371
  248. package/dist/src/ua_method_impl.d.ts +41 -41
  249. package/dist/src/ua_method_impl.js +208 -208
  250. package/dist/src/ua_object_impl.d.ts +35 -35
  251. package/dist/src/ua_object_impl.js +161 -161
  252. package/dist/src/ua_object_type_impl.d.ts +48 -48
  253. package/dist/src/ua_object_type_impl.js +124 -124
  254. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  255. package/dist/src/ua_reference_type_impl.js +139 -139
  256. package/dist/src/ua_variable_impl.d.ts +351 -351
  257. package/dist/src/ua_variable_impl.js +1604 -1604
  258. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  259. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  260. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  261. package/dist/src/ua_variable_type_impl.js +570 -570
  262. package/dist/src/ua_view_impl.d.ts +19 -19
  263. package/dist/src/ua_view_impl.js +43 -43
  264. package/distHelpers/add_event_generator_object.d.ts +3 -3
  265. package/distHelpers/add_event_generator_object.js +64 -64
  266. package/distHelpers/alarms_and_conditions_demo.d.ts +9 -9
  267. package/distHelpers/alarms_and_conditions_demo.js +115 -115
  268. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  269. package/distHelpers/assertHasMatchingReference.js +40 -40
  270. package/distHelpers/boiler_system.d.ts +113 -113
  271. package/distHelpers/boiler_system.js +395 -395
  272. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  273. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  274. package/distHelpers/date_utils.d.ts +3 -3
  275. package/distHelpers/date_utils.js +9 -9
  276. package/distHelpers/dump_statemachine.js +127 -127
  277. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  278. package/distHelpers/get_address_space_fixture.js +30 -30
  279. package/distHelpers/get_mini_address_space.d.ts +7 -7
  280. package/distHelpers/get_mini_address_space.js +36 -36
  281. package/distHelpers/index.d.ts +12 -12
  282. package/distHelpers/index.js +28 -28
  283. package/distHelpers/mock_session.d.ts +14 -14
  284. package/distHelpers/mock_session.js +25 -25
  285. package/distNodeJS/generate_address_space.d.ts +4 -4
  286. package/distNodeJS/generate_address_space.js +41 -41
  287. package/distNodeJS/index.d.ts +1 -1
  288. package/distNodeJS/index.js +17 -17
  289. package/package.json +36 -35
@@ -1,277 +1,277 @@
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 ua_variable_impl_1 = require("./ua_variable_impl");
14
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
15
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
16
- const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
17
- /*
18
- * define a complex Variable containing a array of extension objects
19
- * each element of the array is also accessible as a component variable.
20
- *
21
- */
22
- function getExtObjArrayNodeValue() {
23
- return new node_opcua_variant_1.Variant({
24
- arrayType: node_opcua_variant_3.VariantArrayType.Array,
25
- dataType: node_opcua_variant_2.DataType.ExtensionObject,
26
- value: this.$$extensionObjectArray
27
- });
28
- }
29
- function removeElementByIndex(uaArrayVariableNode, elementIndex) {
30
- const _array = uaArrayVariableNode.$$extensionObjectArray;
31
- (0, node_opcua_assert_1.assert)(typeof elementIndex === "number");
32
- const addressSpace = uaArrayVariableNode.addressSpace;
33
- const extObj = _array[elementIndex];
34
- const browseName = uaArrayVariableNode.$$getElementBrowseName(extObj);
35
- // remove element from global array (inefficient)
36
- uaArrayVariableNode.$$extensionObjectArray.splice(elementIndex, 1);
37
- // remove matching component
38
- const node = uaArrayVariableNode.getComponentByName(browseName);
39
- if (!node) {
40
- throw new Error(" cannot find component ");
41
- }
42
- const hasComponent = uaArrayVariableNode.addressSpace.findReferenceType("HasComponent");
43
- // remove the hasComponent reference toward node
44
- uaArrayVariableNode.removeReference({
45
- isForward: true,
46
- nodeId: node.nodeId,
47
- referenceType: hasComponent.nodeId
48
- });
49
- // now check if node has still some parent
50
- const parents = node.findReferencesEx("HasChild", node_opcua_data_model_1.BrowseDirection.Inverse);
51
- if (parents.length === 0) {
52
- addressSpace.deleteNode(node.nodeId);
53
- }
54
- }
55
- /**
56
- *
57
- * create a node Variable that contains a array of ExtensionObject of a given type
58
- * @method createExtObjArrayNode
59
- * @param parentFolder
60
- * @param options
61
- * @param options.browseName
62
- * @param options.complexVariableType
63
- * @param options.variableType the type of Extension objects stored in the array.
64
- * @param options.indexPropertyName
65
- * @return {Object|UAVariable}
66
- */
67
- function createExtObjArrayNode(parentFolder, options) {
68
- (0, node_opcua_assert_1.assert)(typeof options.variableType === "string");
69
- (0, node_opcua_assert_1.assert)(typeof options.indexPropertyName === "string");
70
- const addressSpace = parentFolder.addressSpace;
71
- const namespace = parentFolder.namespace;
72
- const complexVariableType = addressSpace.findVariableType(options.complexVariableType);
73
- // istanbul ignore next
74
- if (!complexVariableType) {
75
- throw new Error("cannot find complex variable type");
76
- }
77
- (0, node_opcua_assert_1.assert)(!complexVariableType.nodeId.isEmpty());
78
- const variableType = addressSpace.findVariableType(options.variableType);
79
- if (!variableType) {
80
- throw new Error("cannot find variable Type");
81
- }
82
- (0, node_opcua_assert_1.assert)(!variableType.nodeId.isEmpty());
83
- const structure = addressSpace.findDataType("Structure");
84
- (0, node_opcua_assert_1.assert)(structure, "Structure Type not found: please check your nodeset file");
85
- const dataType = addressSpace.findDataType(variableType.dataType);
86
- // istanbul ignore next
87
- if (!dataType) {
88
- errorLog(variableType.toString());
89
- throw new Error("cannot find Data Type");
90
- }
91
- (0, node_opcua_assert_1.assert)(dataType.isSupertypeOf(structure), "expecting a structure (= ExtensionObject) here ");
92
- const inner_options = {
93
- componentOf: parentFolder,
94
- browseName: options.browseName,
95
- dataType: dataType.nodeId,
96
- typeDefinition: complexVariableType.nodeId,
97
- value: { dataType: node_opcua_variant_2.DataType.ExtensionObject, value: [], arrayType: node_opcua_variant_3.VariantArrayType.Array },
98
- valueRank: 1
99
- };
100
- const uaArrayVariableNode = namespace.addVariable(inner_options);
101
- bindExtObjArrayNode(uaArrayVariableNode, options.variableType, options.indexPropertyName);
102
- return uaArrayVariableNode;
103
- }
104
- exports.createExtObjArrayNode = createExtObjArrayNode;
105
- function _getElementBrowseName(extObj) {
106
- const indexPropertyName1 = this.$$indexPropertyName;
107
- if (!Object.prototype.hasOwnProperty.call(extObj, indexPropertyName1)) {
108
- console.log(" extension object do not have ", indexPropertyName1, extObj);
109
- }
110
- // assert(extObj.constructor === addressSpace.constructExtensionObject(dataType));
111
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(extObj, indexPropertyName1));
112
- const browseName = extObj[indexPropertyName1].toString();
113
- return browseName;
114
- }
115
- ;
116
- /**
117
- * @method bindExtObjArrayNode
118
- * @param uaArrayVariableNode
119
- * @param variableTypeNodeId
120
- * @param indexPropertyName
121
- * @return
122
- */
123
- function bindExtObjArrayNode(uaArrayVariableNode, variableTypeNodeId, indexPropertyName) {
124
- (0, node_opcua_assert_1.assert)(uaArrayVariableNode.valueRank === 1, "expecting a one dimension array");
125
- const addressSpace = uaArrayVariableNode.addressSpace;
126
- const variableType = addressSpace.findVariableType(variableTypeNodeId);
127
- // istanbul ignore next
128
- if (!variableType || variableType.nodeId.isEmpty()) {
129
- throw new Error("Cannot find VariableType " + variableTypeNodeId.toString());
130
- }
131
- const structure = addressSpace.findDataType("Structure");
132
- // istanbul ignore next
133
- if (!structure) {
134
- throw new Error("Structure Type not found: please check your nodeset file");
135
- }
136
- let dataType = addressSpace.findDataType(variableType.dataType);
137
- // istanbul ignore next
138
- if (!dataType) {
139
- throw new Error("Cannot find DataType " + variableType.dataType.toString());
140
- }
141
- (0, node_opcua_assert_1.assert)(dataType.isSupertypeOf(structure), "expecting a structure (= ExtensionObject) here ");
142
- (0, node_opcua_assert_1.assert)(!uaArrayVariableNode.$$variableType, "uaArrayVariableNode has already been bound !");
143
- uaArrayVariableNode.$$variableType = variableType;
144
- // verify that an object with same doesn't already exist
145
- dataType = addressSpace.findDataType(variableType.dataType);
146
- (0, node_opcua_assert_1.assert)(dataType.isSupertypeOf(structure), "expecting a structure (= ExtensionObject) here ");
147
- uaArrayVariableNode.$$dataType = dataType;
148
- uaArrayVariableNode.$$extensionObjectArray = [];
149
- uaArrayVariableNode.$$indexPropertyName = indexPropertyName;
150
- uaArrayVariableNode.$$getElementBrowseName = _getElementBrowseName;
151
- const bindOptions = {
152
- get: getExtObjArrayNodeValue,
153
- set: undefined // readonly
154
- };
155
- // bind the readonly
156
- uaArrayVariableNode.bindVariable(bindOptions, true);
157
- return uaArrayVariableNode;
158
- }
159
- exports.bindExtObjArrayNode = bindExtObjArrayNode;
160
- /**
161
- * @method addElement
162
- * add a new element in a ExtensionObject Array variable
163
- * @param options {Object} data used to construct the underlying ExtensionObject
164
- * @param uaArrayVariableNode {UAVariable}
165
- * @return {UAVariable}
166
- *
167
- * @method addElement
168
- * add a new element in a ExtensionObject Array variable
169
- * @param nodeVariable a variable already exposing an extension objects
170
- * @param uaArrayVariableNode {UAVariable}
171
- * @return {UAVariable}
172
- *
173
- * @method addElement
174
- * add a new element in a ExtensionObject Array variable
175
- * @param constructor constructor of the extension object to create
176
- * @param uaArrayVariableNode {UAVariable}
177
- * @return {UAVariable}
178
- */
179
- function addElement(options /* ExtensionObjectConstructor | ExtensionObject | UAVariable*/, uaArrayVariableNode) {
180
- (0, node_opcua_assert_1.assert)(uaArrayVariableNode, " must provide an UAVariable containing the array");
181
- // verify that arr has been created correctly
182
- (0, node_opcua_assert_1.assert)(!!uaArrayVariableNode.$$variableType && !!uaArrayVariableNode.$$dataType, "did you create the array Node with createExtObjArrayNode ?");
183
- (0, node_opcua_assert_1.assert)(uaArrayVariableNode.$$dataType.nodeClass === node_opcua_data_model_1.NodeClass.DataType);
184
- const addressSpace = uaArrayVariableNode.addressSpace;
185
- const Constructor = addressSpace.getExtensionObjectConstructor(uaArrayVariableNode.$$dataType);
186
- (0, node_opcua_assert_1.assert)(Constructor instanceof Function);
187
- let extensionObject;
188
- let elVar = null;
189
- let browseName;
190
- if (options instanceof ua_variable_impl_1.UAVariableImpl) {
191
- elVar = options;
192
- extensionObject = elVar.$extensionObject; // get shared extension object
193
- (0, node_opcua_assert_1.assert)(extensionObject instanceof Constructor, "the provided variable must expose a Extension Object of the expected type ");
194
- // add a reference
195
- uaArrayVariableNode.addReference({
196
- isForward: true,
197
- nodeId: elVar.nodeId,
198
- referenceType: "HasComponent"
199
- });
200
- // xx elVar.bindExtensionObject();
201
- }
202
- else {
203
- if (options instanceof Constructor) {
204
- // extension object has already been created
205
- extensionObject = options;
206
- }
207
- else {
208
- extensionObject = addressSpace.constructExtensionObject(uaArrayVariableNode.$$dataType, options);
209
- }
210
- browseName = uaArrayVariableNode.$$getElementBrowseName(extensionObject);
211
- elVar = uaArrayVariableNode.$$variableType.instantiate({
212
- browseName,
213
- componentOf: uaArrayVariableNode.nodeId,
214
- value: { dataType: node_opcua_variant_2.DataType.ExtensionObject, value: extensionObject }
215
- });
216
- elVar.bindExtensionObject(extensionObject, { force: true });
217
- elVar.$extensionObject = extensionObject;
218
- }
219
- // also add the value inside
220
- uaArrayVariableNode.$$extensionObjectArray.push(elVar.$extensionObject);
221
- return elVar;
222
- }
223
- exports.addElement = addElement;
224
- /**
225
- *
226
- * @method removeElement
227
- * @param uaArrayVariableNode {UAVariable}
228
- * @param element {number} index of element to remove in array
229
- *
230
- *
231
- * @method removeElement
232
- * @param uaArrayVariableNode {UAVariable}
233
- * @param element {UAVariable} node of element to remove in array
234
- *
235
- * @method removeElement
236
- * @param uaArrayVariableNode {UAVariable}
237
- * @param element {ExtensionObject} extension object of the node of element to remove in array
238
- *
239
- */
240
- function removeElement(uaArrayVariableNode, element /* number | UAVariable | (a any) => boolean | ExtensionObject */) {
241
- (0, node_opcua_assert_1.assert)(element, "removeElement: element must exist");
242
- const _array = uaArrayVariableNode.$$extensionObjectArray;
243
- // istanbul ignore next
244
- if (_array.length === 0) {
245
- throw new Error(" cannot remove an element from an empty array ");
246
- }
247
- let elementIndex = -1;
248
- if (typeof element === "number") {
249
- // find element by index
250
- elementIndex = element;
251
- (0, node_opcua_assert_1.assert)(elementIndex >= 0 && elementIndex < _array.length);
252
- }
253
- else if (element && element.nodeClass) {
254
- // find element by name
255
- const browseNameToFind = element.browseName.name.toString();
256
- elementIndex = _array.findIndex((obj, i) => {
257
- const browseName = uaArrayVariableNode.$$getElementBrowseName(obj).toString();
258
- return browseName === browseNameToFind;
259
- });
260
- }
261
- else if (typeof element === "function") {
262
- // find element by functor
263
- elementIndex = _array.findIndex(element);
264
- }
265
- else {
266
- // find element by inner extension object
267
- (0, node_opcua_assert_1.assert)(_array[0].constructor.name === element.constructor.name, "element must match");
268
- elementIndex = _array.findIndex((x) => x === element);
269
- }
270
- // istanbul ignore next
271
- if (elementIndex < 0) {
272
- throw new Error("removeElement: cannot find element matching " + element.toString());
273
- }
274
- return removeElementByIndex(uaArrayVariableNode, elementIndex);
275
- }
276
- exports.removeElement = removeElement;
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 ua_variable_impl_1 = require("./ua_variable_impl");
14
+ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
15
+ const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
16
+ const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
17
+ /*
18
+ * define a complex Variable containing a array of extension objects
19
+ * each element of the array is also accessible as a component variable.
20
+ *
21
+ */
22
+ function getExtObjArrayNodeValue() {
23
+ return new node_opcua_variant_1.Variant({
24
+ arrayType: node_opcua_variant_3.VariantArrayType.Array,
25
+ dataType: node_opcua_variant_2.DataType.ExtensionObject,
26
+ value: this.$$extensionObjectArray
27
+ });
28
+ }
29
+ function removeElementByIndex(uaArrayVariableNode, elementIndex) {
30
+ const _array = uaArrayVariableNode.$$extensionObjectArray;
31
+ (0, node_opcua_assert_1.assert)(typeof elementIndex === "number");
32
+ const addressSpace = uaArrayVariableNode.addressSpace;
33
+ const extObj = _array[elementIndex];
34
+ const browseName = uaArrayVariableNode.$$getElementBrowseName(extObj);
35
+ // remove element from global array (inefficient)
36
+ uaArrayVariableNode.$$extensionObjectArray.splice(elementIndex, 1);
37
+ // remove matching component
38
+ const node = uaArrayVariableNode.getComponentByName(browseName);
39
+ if (!node) {
40
+ throw new Error(" cannot find component ");
41
+ }
42
+ const hasComponent = uaArrayVariableNode.addressSpace.findReferenceType("HasComponent");
43
+ // remove the hasComponent reference toward node
44
+ uaArrayVariableNode.removeReference({
45
+ isForward: true,
46
+ nodeId: node.nodeId,
47
+ referenceType: hasComponent.nodeId
48
+ });
49
+ // now check if node has still some parent
50
+ const parents = node.findReferencesEx("HasChild", node_opcua_data_model_1.BrowseDirection.Inverse);
51
+ if (parents.length === 0) {
52
+ addressSpace.deleteNode(node.nodeId);
53
+ }
54
+ }
55
+ /**
56
+ *
57
+ * create a node Variable that contains a array of ExtensionObject of a given type
58
+ * @method createExtObjArrayNode
59
+ * @param parentFolder
60
+ * @param options
61
+ * @param options.browseName
62
+ * @param options.complexVariableType
63
+ * @param options.variableType the type of Extension objects stored in the array.
64
+ * @param options.indexPropertyName
65
+ * @return {Object|UAVariable}
66
+ */
67
+ function createExtObjArrayNode(parentFolder, options) {
68
+ (0, node_opcua_assert_1.assert)(typeof options.variableType === "string");
69
+ (0, node_opcua_assert_1.assert)(typeof options.indexPropertyName === "string");
70
+ const addressSpace = parentFolder.addressSpace;
71
+ const namespace = parentFolder.namespace;
72
+ const complexVariableType = addressSpace.findVariableType(options.complexVariableType);
73
+ // istanbul ignore next
74
+ if (!complexVariableType) {
75
+ throw new Error("cannot find complex variable type");
76
+ }
77
+ (0, node_opcua_assert_1.assert)(!complexVariableType.nodeId.isEmpty());
78
+ const variableType = addressSpace.findVariableType(options.variableType);
79
+ if (!variableType) {
80
+ throw new Error("cannot find variable Type");
81
+ }
82
+ (0, node_opcua_assert_1.assert)(!variableType.nodeId.isEmpty());
83
+ const structure = addressSpace.findDataType("Structure");
84
+ (0, node_opcua_assert_1.assert)(structure, "Structure Type not found: please check your nodeset file");
85
+ const dataType = addressSpace.findDataType(variableType.dataType);
86
+ // istanbul ignore next
87
+ if (!dataType) {
88
+ errorLog(variableType.toString());
89
+ throw new Error("cannot find Data Type");
90
+ }
91
+ (0, node_opcua_assert_1.assert)(dataType.isSupertypeOf(structure), "expecting a structure (= ExtensionObject) here ");
92
+ const inner_options = {
93
+ componentOf: parentFolder,
94
+ browseName: options.browseName,
95
+ dataType: dataType.nodeId,
96
+ typeDefinition: complexVariableType.nodeId,
97
+ value: { dataType: node_opcua_variant_2.DataType.ExtensionObject, value: [], arrayType: node_opcua_variant_3.VariantArrayType.Array },
98
+ valueRank: 1
99
+ };
100
+ const uaArrayVariableNode = namespace.addVariable(inner_options);
101
+ bindExtObjArrayNode(uaArrayVariableNode, options.variableType, options.indexPropertyName);
102
+ return uaArrayVariableNode;
103
+ }
104
+ exports.createExtObjArrayNode = createExtObjArrayNode;
105
+ function _getElementBrowseName(extObj) {
106
+ const indexPropertyName1 = this.$$indexPropertyName;
107
+ if (!Object.prototype.hasOwnProperty.call(extObj, indexPropertyName1)) {
108
+ console.log(" extension object do not have ", indexPropertyName1, extObj);
109
+ }
110
+ // assert(extObj.constructor === addressSpace.constructExtensionObject(dataType));
111
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(extObj, indexPropertyName1));
112
+ const browseName = extObj[indexPropertyName1].toString();
113
+ return browseName;
114
+ }
115
+ ;
116
+ /**
117
+ * @method bindExtObjArrayNode
118
+ * @param uaArrayVariableNode
119
+ * @param variableTypeNodeId
120
+ * @param indexPropertyName
121
+ * @return
122
+ */
123
+ function bindExtObjArrayNode(uaArrayVariableNode, variableTypeNodeId, indexPropertyName) {
124
+ (0, node_opcua_assert_1.assert)(uaArrayVariableNode.valueRank === 1, "expecting a one dimension array");
125
+ const addressSpace = uaArrayVariableNode.addressSpace;
126
+ const variableType = addressSpace.findVariableType(variableTypeNodeId);
127
+ // istanbul ignore next
128
+ if (!variableType || variableType.nodeId.isEmpty()) {
129
+ throw new Error("Cannot find VariableType " + variableTypeNodeId.toString());
130
+ }
131
+ const structure = addressSpace.findDataType("Structure");
132
+ // istanbul ignore next
133
+ if (!structure) {
134
+ throw new Error("Structure Type not found: please check your nodeset file");
135
+ }
136
+ let dataType = addressSpace.findDataType(variableType.dataType);
137
+ // istanbul ignore next
138
+ if (!dataType) {
139
+ throw new Error("Cannot find DataType " + variableType.dataType.toString());
140
+ }
141
+ (0, node_opcua_assert_1.assert)(dataType.isSupertypeOf(structure), "expecting a structure (= ExtensionObject) here ");
142
+ (0, node_opcua_assert_1.assert)(!uaArrayVariableNode.$$variableType, "uaArrayVariableNode has already been bound !");
143
+ uaArrayVariableNode.$$variableType = variableType;
144
+ // verify that an object with same doesn't already exist
145
+ dataType = addressSpace.findDataType(variableType.dataType);
146
+ (0, node_opcua_assert_1.assert)(dataType.isSupertypeOf(structure), "expecting a structure (= ExtensionObject) here ");
147
+ uaArrayVariableNode.$$dataType = dataType;
148
+ uaArrayVariableNode.$$extensionObjectArray = [];
149
+ uaArrayVariableNode.$$indexPropertyName = indexPropertyName;
150
+ uaArrayVariableNode.$$getElementBrowseName = _getElementBrowseName;
151
+ const bindOptions = {
152
+ get: getExtObjArrayNodeValue,
153
+ set: undefined // readonly
154
+ };
155
+ // bind the readonly
156
+ uaArrayVariableNode.bindVariable(bindOptions, true);
157
+ return uaArrayVariableNode;
158
+ }
159
+ exports.bindExtObjArrayNode = bindExtObjArrayNode;
160
+ /**
161
+ * @method addElement
162
+ * add a new element in a ExtensionObject Array variable
163
+ * @param options {Object} data used to construct the underlying ExtensionObject
164
+ * @param uaArrayVariableNode {UAVariable}
165
+ * @return {UAVariable}
166
+ *
167
+ * @method addElement
168
+ * add a new element in a ExtensionObject Array variable
169
+ * @param nodeVariable a variable already exposing an extension objects
170
+ * @param uaArrayVariableNode {UAVariable}
171
+ * @return {UAVariable}
172
+ *
173
+ * @method addElement
174
+ * add a new element in a ExtensionObject Array variable
175
+ * @param constructor constructor of the extension object to create
176
+ * @param uaArrayVariableNode {UAVariable}
177
+ * @return {UAVariable}
178
+ */
179
+ function addElement(options /* ExtensionObjectConstructor | ExtensionObject | UAVariable*/, uaArrayVariableNode) {
180
+ (0, node_opcua_assert_1.assert)(uaArrayVariableNode, " must provide an UAVariable containing the array");
181
+ // verify that arr has been created correctly
182
+ (0, node_opcua_assert_1.assert)(!!uaArrayVariableNode.$$variableType && !!uaArrayVariableNode.$$dataType, "did you create the array Node with createExtObjArrayNode ?");
183
+ (0, node_opcua_assert_1.assert)(uaArrayVariableNode.$$dataType.nodeClass === node_opcua_data_model_1.NodeClass.DataType);
184
+ const addressSpace = uaArrayVariableNode.addressSpace;
185
+ const Constructor = addressSpace.getExtensionObjectConstructor(uaArrayVariableNode.$$dataType);
186
+ (0, node_opcua_assert_1.assert)(Constructor instanceof Function);
187
+ let extensionObject;
188
+ let elVar = null;
189
+ let browseName;
190
+ if (options instanceof ua_variable_impl_1.UAVariableImpl) {
191
+ elVar = options;
192
+ extensionObject = elVar.$extensionObject; // get shared extension object
193
+ (0, node_opcua_assert_1.assert)(extensionObject instanceof Constructor, "the provided variable must expose a Extension Object of the expected type ");
194
+ // add a reference
195
+ uaArrayVariableNode.addReference({
196
+ isForward: true,
197
+ nodeId: elVar.nodeId,
198
+ referenceType: "HasComponent"
199
+ });
200
+ // xx elVar.bindExtensionObject();
201
+ }
202
+ else {
203
+ if (options instanceof Constructor) {
204
+ // extension object has already been created
205
+ extensionObject = options;
206
+ }
207
+ else {
208
+ extensionObject = addressSpace.constructExtensionObject(uaArrayVariableNode.$$dataType, options);
209
+ }
210
+ browseName = uaArrayVariableNode.$$getElementBrowseName(extensionObject);
211
+ elVar = uaArrayVariableNode.$$variableType.instantiate({
212
+ browseName,
213
+ componentOf: uaArrayVariableNode.nodeId,
214
+ value: { dataType: node_opcua_variant_2.DataType.ExtensionObject, value: extensionObject }
215
+ });
216
+ elVar.bindExtensionObject(extensionObject, { force: true });
217
+ elVar.$extensionObject = extensionObject;
218
+ }
219
+ // also add the value inside
220
+ uaArrayVariableNode.$$extensionObjectArray.push(elVar.$extensionObject);
221
+ return elVar;
222
+ }
223
+ exports.addElement = addElement;
224
+ /**
225
+ *
226
+ * @method removeElement
227
+ * @param uaArrayVariableNode {UAVariable}
228
+ * @param element {number} index of element to remove in array
229
+ *
230
+ *
231
+ * @method removeElement
232
+ * @param uaArrayVariableNode {UAVariable}
233
+ * @param element {UAVariable} node of element to remove in array
234
+ *
235
+ * @method removeElement
236
+ * @param uaArrayVariableNode {UAVariable}
237
+ * @param element {ExtensionObject} extension object of the node of element to remove in array
238
+ *
239
+ */
240
+ function removeElement(uaArrayVariableNode, element /* number | UAVariable | (a any) => boolean | ExtensionObject */) {
241
+ (0, node_opcua_assert_1.assert)(element, "removeElement: element must exist");
242
+ const _array = uaArrayVariableNode.$$extensionObjectArray;
243
+ // istanbul ignore next
244
+ if (_array.length === 0) {
245
+ throw new Error(" cannot remove an element from an empty array ");
246
+ }
247
+ let elementIndex = -1;
248
+ if (typeof element === "number") {
249
+ // find element by index
250
+ elementIndex = element;
251
+ (0, node_opcua_assert_1.assert)(elementIndex >= 0 && elementIndex < _array.length);
252
+ }
253
+ else if (element && element.nodeClass) {
254
+ // find element by name
255
+ const browseNameToFind = element.browseName.name.toString();
256
+ elementIndex = _array.findIndex((obj, i) => {
257
+ const browseName = uaArrayVariableNode.$$getElementBrowseName(obj).toString();
258
+ return browseName === browseNameToFind;
259
+ });
260
+ }
261
+ else if (typeof element === "function") {
262
+ // find element by functor
263
+ elementIndex = _array.findIndex(element);
264
+ }
265
+ else {
266
+ // find element by inner extension object
267
+ (0, node_opcua_assert_1.assert)(_array[0].constructor.name === element.constructor.name, "element must match");
268
+ elementIndex = _array.findIndex((x) => x === element);
269
+ }
270
+ // istanbul ignore next
271
+ if (elementIndex < 0) {
272
+ throw new Error("removeElement: cannot find element matching " + element.toString());
273
+ }
274
+ return removeElementByIndex(uaArrayVariableNode, elementIndex);
275
+ }
276
+ exports.removeElement = removeElement;
277
277
  //# sourceMappingURL=extension_object_array_node.js.map
@@ -1,26 +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): any;
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;
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): any;
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;