node-opcua-address-space 2.71.0 → 2.72.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 (408) 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 +34 -34
  8. package/dist/source/helpers/argument_list.js +285 -285
  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 -17
  12. package/dist/source/helpers/check_event_clause.js +52 -52
  13. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  14. package/dist/source/helpers/coerce_enum_value.js +33 -33
  15. package/dist/source/helpers/dump_tools.d.ts +14 -14
  16. package/dist/source/helpers/dump_tools.js +78 -78
  17. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  18. package/dist/source/helpers/ensure_secure_access.js +76 -76
  19. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  20. package/dist/source/helpers/make_optionals_map.js +29 -29
  21. package/dist/source/helpers/multiform_func.d.ts +11 -11
  22. package/dist/source/helpers/multiform_func.js +73 -73
  23. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  24. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  25. package/dist/source/index.d.ts +40 -40
  26. package/dist/source/index.js +66 -66
  27. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  29. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  30. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  31. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  32. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  33. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  34. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  35. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  36. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  37. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  38. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  39. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  40. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  41. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  42. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  43. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  44. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  45. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  46. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  47. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  48. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  49. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  50. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  51. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  52. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  53. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  54. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  55. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  56. package/dist/source/loader/load_nodeset2.js +1468 -1464
  57. package/dist/source/loader/load_nodeset2.js.map +1 -1
  58. package/dist/source/loader/make_semver_compatible.d.ts +6 -0
  59. package/dist/source/loader/make_semver_compatible.js +26 -0
  60. package/dist/source/loader/make_semver_compatible.js.map +1 -0
  61. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  62. package/dist/source/loader/make_xml_extension_object_parser.js +325 -315
  63. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
  64. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  65. package/dist/source/loader/namespace_post_step.js +47 -47
  66. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  67. package/dist/source/loader/register_node_promoter.js +9 -9
  68. package/dist/source/namespace.d.ts +6 -6
  69. package/dist/source/namespace.js +2 -2
  70. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  71. package/dist/source/namespace_alarm_and_condition.js +2 -2
  72. package/dist/source/namespace_data_access.d.ts +42 -42
  73. package/dist/source/namespace_data_access.js +2 -2
  74. package/dist/source/namespace_machine_state.d.ts +7 -7
  75. package/dist/source/namespace_machine_state.js +2 -2
  76. package/dist/source/pseudo_session.d.ts +55 -55
  77. package/dist/source/pseudo_session.js +203 -203
  78. package/dist/source/session_context.d.ts +111 -111
  79. package/dist/source/session_context.js +265 -265
  80. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  81. package/dist/source/set_namespace_meta_data.js +59 -59
  82. package/dist/source/ua_root_folder.d.ts +9 -9
  83. package/dist/source/ua_root_folder.js +2 -2
  84. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  85. package/dist/source/ua_two_state_variable_ex.js +2 -2
  86. package/dist/source/xml_writer.d.ts +9 -9
  87. package/dist/source/xml_writer.js +2 -2
  88. package/dist/src/address_space.d.ts +392 -392
  89. package/dist/src/address_space.js +1387 -1387
  90. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  91. package/dist/src/address_space_change_event_tools.js +149 -149
  92. package/dist/src/address_space_private.d.ts +43 -43
  93. package/dist/src/address_space_private.js +2 -2
  94. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  95. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  96. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  97. package/dist/src/alarms_and_conditions/condition.js +80 -80
  98. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  99. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  100. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  101. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  102. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  103. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  104. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  105. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  106. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  107. package/dist/src/alarms_and_conditions/index.js +34 -34
  108. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +64 -62
  109. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  110. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  111. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +124 -118
  112. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  113. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  114. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  115. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  116. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +36 -21
  117. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +115 -25
  118. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  119. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +187 -182
  120. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1024 -1022
  121. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  122. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +18 -17
  123. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  124. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  125. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +30 -27
  126. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  127. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  128. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -9
  129. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  130. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  131. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +40 -38
  132. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  133. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  134. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  135. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  136. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +105 -97
  137. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  138. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  139. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +29 -28
  140. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  141. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  142. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +26 -25
  143. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  144. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  145. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +48 -39
  146. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +161 -135
  147. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  148. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +17 -16
  149. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  150. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  151. package/dist/src/apply_condition_refresh.d.ts +6 -6
  152. package/dist/src/apply_condition_refresh.js +27 -27
  153. package/dist/src/base_node_impl.d.ts +281 -281
  154. package/dist/src/base_node_impl.js +1395 -1395
  155. package/dist/src/base_node_private.d.ts +61 -61
  156. package/dist/src/base_node_private.js +705 -705
  157. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  158. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  159. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  160. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  161. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  162. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  163. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  164. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  165. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  166. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  167. package/dist/src/event_data.d.ts +29 -29
  168. package/dist/src/event_data.js +95 -95
  169. package/dist/src/extension_object_array_node.d.ts +61 -61
  170. package/dist/src/extension_object_array_node.js +276 -276
  171. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  172. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  173. package/dist/src/index_current.d.ts +45 -45
  174. package/dist/src/index_current.js +77 -77
  175. package/dist/src/namespace_impl.d.ts +457 -457
  176. package/dist/src/namespace_impl.js +1733 -1733
  177. package/dist/src/namespace_private.d.ts +21 -21
  178. package/dist/src/namespace_private.js +32 -32
  179. package/dist/src/nodeid_manager.d.ts +36 -36
  180. package/dist/src/nodeid_manager.js +197 -197
  181. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  182. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  183. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  184. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  185. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  186. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  187. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  188. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  189. package/dist/src/reference_impl.d.ts +43 -43
  190. package/dist/src/reference_impl.js +139 -139
  191. package/dist/src/role_permissions.d.ts +2 -2
  192. package/dist/src/role_permissions.js +10 -10
  193. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  194. package/dist/src/state_machine/finite_state_machine.js +353 -353
  195. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  196. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  197. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  198. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  199. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  200. package/dist/src/tool_isSupertypeOf.js +108 -108
  201. package/dist/src/ua_condition_type.d.ts +8 -8
  202. package/dist/src/ua_condition_type.js +2 -2
  203. package/dist/src/ua_data_type_impl.d.ts +93 -93
  204. package/dist/src/ua_data_type_impl.js +368 -368
  205. package/dist/src/ua_method_impl.d.ts +41 -41
  206. package/dist/src/ua_method_impl.js +208 -208
  207. package/dist/src/ua_object_impl.d.ts +35 -33
  208. package/dist/src/ua_object_impl.js +162 -156
  209. package/dist/src/ua_object_impl.js.map +1 -1
  210. package/dist/src/ua_object_type_impl.d.ts +48 -48
  211. package/dist/src/ua_object_type_impl.js +124 -124
  212. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  213. package/dist/src/ua_reference_type_impl.js +139 -139
  214. package/dist/src/ua_variable_impl.d.ts +351 -351
  215. package/dist/src/ua_variable_impl.js +1604 -1604
  216. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  217. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  218. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  219. package/dist/src/ua_variable_type_impl.js +570 -570
  220. package/dist/src/ua_view_impl.d.ts +19 -15
  221. package/dist/src/ua_view_impl.js +43 -36
  222. package/dist/src/ua_view_impl.js.map +1 -1
  223. package/distHelpers/add_event_generator_object.d.ts +3 -3
  224. package/distHelpers/add_event_generator_object.js +65 -65
  225. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  226. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  227. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  228. package/distHelpers/assertHasMatchingReference.js +40 -40
  229. package/distHelpers/boiler_system.d.ts +113 -113
  230. package/distHelpers/boiler_system.js +395 -395
  231. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  232. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  233. package/distHelpers/date_utils.d.ts +3 -3
  234. package/distHelpers/date_utils.js +9 -9
  235. package/distHelpers/dump_statemachine.js +127 -127
  236. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  237. package/distHelpers/get_address_space_fixture.js +30 -30
  238. package/distHelpers/get_mini_address_space.d.ts +7 -7
  239. package/distHelpers/get_mini_address_space.js +36 -36
  240. package/distHelpers/index.d.ts +12 -12
  241. package/distHelpers/index.js +28 -28
  242. package/distHelpers/mock_session.d.ts +14 -14
  243. package/distHelpers/mock_session.js +25 -25
  244. package/distNodeJS/generate_address_space.d.ts +4 -4
  245. package/distNodeJS/generate_address_space.js +41 -41
  246. package/distNodeJS/index.d.ts +1 -1
  247. package/distNodeJS/index.js +17 -17
  248. package/package.json +23 -23
  249. package/source/loader/load_nodeset2.ts +21 -17
  250. package/source/loader/make_semver_compatible.ts +23 -0
  251. package/source/loader/make_xml_extension_object_parser.ts +16 -6
  252. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +13 -6
  253. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +15 -10
  254. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +126 -10
  255. package/src/alarms_and_conditions/ua_condition_impl.ts +26 -13
  256. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +10 -4
  257. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +7 -6
  258. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +5 -3
  259. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +7 -6
  260. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +1 -1
  261. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +23 -13
  262. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +6 -7
  263. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +6 -7
  264. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +62 -30
  265. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +5 -5
  266. package/src/ua_object_impl.ts +11 -3
  267. package/src/ua_view_impl.ts +6 -4
  268. package/test_helpers/test_fixtures/dataType_issue.xml +9 -9
  269. package/test_helpers/test_fixtures/nodeset_with_guid.xml +1442 -0
  270. package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +31 -0
  271. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +0 -23
  272. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +0 -3
  273. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +0 -1
  274. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +0 -6
  275. package/dist/source/interfaces/data_access/ua_discrete_item.js +0 -3
  276. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +0 -1
  277. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +0 -25
  278. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +0 -3
  279. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +0 -1
  280. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +0 -27
  281. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +0 -3
  282. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +0 -1
  283. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +0 -17
  284. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +0 -3
  285. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +0 -1
  286. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +0 -19
  287. package/dist/source/interfaces/data_access/ua_y_array_item.js +0 -3
  288. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +0 -1
  289. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +0 -11
  290. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +0 -3
  291. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +0 -1
  292. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +0 -70
  293. package/dist/source/interfaces/state_machine/finite_state_machine.js +0 -3
  294. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +0 -1
  295. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +0 -74
  296. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +0 -3
  297. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +0 -1
  298. package/dist/source/interfaces/state_machine/state_machine.d.ts +0 -342
  299. package/dist/source/interfaces/state_machine/state_machine.js +0 -3
  300. package/dist/source/interfaces/state_machine/state_machine.js.map +0 -1
  301. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +0 -18
  302. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +0 -3
  303. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +0 -1
  304. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +0 -29
  305. package/dist/source/interfaces/state_machine/ua_state_variable.js +0 -3
  306. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +0 -1
  307. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +0 -26
  308. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +0 -3
  309. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +0 -1
  310. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +0 -41
  311. package/dist/source/interfaces/subscription_diagnostics_variable.js +0 -3
  312. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +0 -1
  313. package/dist/src/alarms_and_conditions/base_event_type.d.ts +0 -26
  314. package/dist/src/alarms_and_conditions/base_event_type.js +0 -41
  315. package/dist/src/alarms_and_conditions/base_event_type.js.map +0 -1
  316. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +0 -22
  317. package/dist/src/alarms_and_conditions/shelving_state_machine.js +0 -241
  318. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +0 -1
  319. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +0 -16
  320. package/dist/src/alarms_and_conditions/trip_alarm.js +0 -21
  321. package/dist/src/alarms_and_conditions/trip_alarm.js.map +0 -1
  322. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +0 -54
  323. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +0 -255
  324. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +0 -1
  325. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +0 -138
  326. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +0 -460
  327. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +0 -1
  328. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +0 -35
  329. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +0 -32
  330. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +0 -1
  331. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +0 -191
  332. package/dist/src/alarms_and_conditions/ua_condition_base.js +0 -1029
  333. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +0 -1
  334. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +0 -11
  335. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +0 -58
  336. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +0 -1
  337. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +0 -24
  338. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +0 -59
  339. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +0 -1
  340. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +0 -14
  341. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +0 -17
  342. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +0 -1
  343. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +0 -22
  344. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +0 -87
  345. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +0 -1
  346. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +0 -6
  347. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +0 -11
  348. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +0 -1
  349. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +0 -76
  350. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +0 -237
  351. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +0 -1
  352. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +0 -27
  353. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +0 -62
  354. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +0 -1
  355. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +0 -49
  356. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +0 -176
  357. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +0 -1
  358. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +0 -47
  359. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +0 -151
  360. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +0 -1
  361. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +0 -16
  362. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +0 -18
  363. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +0 -1
  364. package/dist/src/base_node.d.ts +0 -270
  365. package/dist/src/base_node.js +0 -1299
  366. package/dist/src/base_node.js.map +0 -1
  367. package/dist/src/data_access/ua_analog_item.d.ts +0 -13
  368. package/dist/src/data_access/ua_analog_item.js +0 -37
  369. package/dist/src/data_access/ua_analog_item.js.map +0 -1
  370. package/dist/src/data_access/ua_data_item.d.ts +0 -16
  371. package/dist/src/data_access/ua_data_item.js +0 -66
  372. package/dist/src/data_access/ua_data_item.js.map +0 -1
  373. package/dist/src/data_access/ua_multistate_discrete.d.ts +0 -24
  374. package/dist/src/data_access/ua_multistate_discrete.js +0 -132
  375. package/dist/src/data_access/ua_multistate_discrete.js.map +0 -1
  376. package/dist/src/namespace.d.ts +0 -472
  377. package/dist/src/namespace.js +0 -1759
  378. package/dist/src/namespace.js.map +0 -1
  379. package/dist/src/reference.d.ts +0 -43
  380. package/dist/src/reference.js +0 -138
  381. package/dist/src/reference.js.map +0 -1
  382. package/dist/src/session_context.d.ts +0 -4
  383. package/dist/src/session_context.js +0 -9
  384. package/dist/src/session_context.js.map +0 -1
  385. package/dist/src/ua_data_type.d.ts +0 -81
  386. package/dist/src/ua_data_type.js +0 -259
  387. package/dist/src/ua_data_type.js.map +0 -1
  388. package/dist/src/ua_method.d.ts +0 -33
  389. package/dist/src/ua_method.js +0 -194
  390. package/dist/src/ua_method.js.map +0 -1
  391. package/dist/src/ua_object.d.ts +0 -27
  392. package/dist/src/ua_object.js +0 -153
  393. package/dist/src/ua_object.js.map +0 -1
  394. package/dist/src/ua_object_type.d.ts +0 -49
  395. package/dist/src/ua_object_type.js +0 -123
  396. package/dist/src/ua_object_type.js.map +0 -1
  397. package/dist/src/ua_reference_type.d.ts +0 -31
  398. package/dist/src/ua_reference_type.js +0 -108
  399. package/dist/src/ua_reference_type.js.map +0 -1
  400. package/dist/src/ua_variable.d.ts +0 -346
  401. package/dist/src/ua_variable.js +0 -1651
  402. package/dist/src/ua_variable.js.map +0 -1
  403. package/dist/src/ua_variable_type.d.ts +0 -57
  404. package/dist/src/ua_variable_type.js +0 -530
  405. package/dist/src/ua_variable_type.js.map +0 -1
  406. package/dist/src/ua_view.d.ts +0 -16
  407. package/dist/src/ua_view.js +0 -41
  408. package/dist/src/ua_view.js.map +0 -1
@@ -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;