node-opcua-address-space 2.70.1 → 2.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) 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/alarms_and_conditions/ua_condition_base_i.d.ts +23 -0
  30. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +3 -0
  31. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +1 -0
  32. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +6 -0
  33. package/dist/source/interfaces/data_access/ua_discrete_item.js +3 -0
  34. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +1 -0
  35. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +25 -0
  36. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +3 -0
  37. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +1 -0
  38. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  39. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  40. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +27 -0
  41. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +3 -0
  42. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +1 -0
  43. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  44. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  45. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +17 -0
  46. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +3 -0
  47. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +1 -0
  48. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  49. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  50. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +19 -0
  51. package/dist/source/interfaces/data_access/ua_y_array_item.js +3 -0
  52. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +1 -0
  53. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  54. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  55. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +11 -0
  56. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +3 -0
  57. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +1 -0
  58. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +70 -0
  59. package/dist/source/interfaces/state_machine/finite_state_machine.js +3 -0
  60. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +1 -0
  61. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +74 -0
  62. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +3 -0
  63. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +1 -0
  64. package/dist/source/interfaces/state_machine/state_machine.d.ts +342 -0
  65. package/dist/source/interfaces/state_machine/state_machine.js +3 -0
  66. package/dist/source/interfaces/state_machine/state_machine.js.map +1 -0
  67. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  68. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  69. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  70. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  71. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +18 -0
  72. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +3 -0
  73. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +1 -0
  74. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  75. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  76. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  77. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  78. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +29 -0
  79. package/dist/source/interfaces/state_machine/ua_state_variable.js +3 -0
  80. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +1 -0
  81. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  82. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  83. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +26 -0
  84. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +3 -0
  85. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +1 -0
  86. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +41 -0
  87. package/dist/source/interfaces/subscription_diagnostics_variable.js +3 -0
  88. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +1 -0
  89. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  90. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  91. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  92. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  93. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  94. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  95. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  96. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  97. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  98. package/dist/source/loader/load_nodeset2.js +1464 -1464
  99. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  100. package/dist/source/loader/make_xml_extension_object_parser.js +315 -315
  101. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  102. package/dist/source/loader/namespace_post_step.js +47 -47
  103. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  104. package/dist/source/loader/register_node_promoter.js +9 -9
  105. package/dist/source/namespace.d.ts +6 -6
  106. package/dist/source/namespace.js +2 -2
  107. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  108. package/dist/source/namespace_alarm_and_condition.js +2 -2
  109. package/dist/source/namespace_data_access.d.ts +42 -42
  110. package/dist/source/namespace_data_access.js +2 -2
  111. package/dist/source/namespace_machine_state.d.ts +7 -7
  112. package/dist/source/namespace_machine_state.js +2 -2
  113. package/dist/source/pseudo_session.d.ts +55 -55
  114. package/dist/source/pseudo_session.js +203 -203
  115. package/dist/source/session_context.d.ts +111 -111
  116. package/dist/source/session_context.js +265 -265
  117. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  118. package/dist/source/set_namespace_meta_data.js +59 -59
  119. package/dist/source/ua_root_folder.d.ts +9 -9
  120. package/dist/source/ua_root_folder.js +2 -2
  121. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  122. package/dist/source/ua_two_state_variable_ex.js +2 -2
  123. package/dist/source/xml_writer.d.ts +9 -9
  124. package/dist/source/xml_writer.js +2 -2
  125. package/dist/src/address_space.d.ts +392 -392
  126. package/dist/src/address_space.js +1387 -1387
  127. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  128. package/dist/src/address_space_change_event_tools.js +149 -149
  129. package/dist/src/address_space_private.d.ts +43 -43
  130. package/dist/src/address_space_private.js +2 -2
  131. package/dist/src/alarms_and_conditions/base_event_type.d.ts +26 -0
  132. package/dist/src/alarms_and_conditions/base_event_type.js +41 -0
  133. package/dist/src/alarms_and_conditions/base_event_type.js.map +1 -0
  134. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  135. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  136. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  137. package/dist/src/alarms_and_conditions/condition.js +80 -80
  138. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  139. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  140. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  141. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  142. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  143. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  144. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  145. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  146. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  147. package/dist/src/alarms_and_conditions/index.js +34 -34
  148. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +22 -0
  149. package/dist/src/alarms_and_conditions/shelving_state_machine.js +241 -0
  150. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +1 -0
  151. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +16 -0
  152. package/dist/src/alarms_and_conditions/trip_alarm.js +21 -0
  153. package/dist/src/alarms_and_conditions/trip_alarm.js.map +1 -0
  154. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +54 -0
  155. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +255 -0
  156. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +1 -0
  157. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +62 -62
  158. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  159. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +138 -0
  160. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +460 -0
  161. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +1 -0
  162. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +118 -118
  163. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  164. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  165. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  166. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +35 -0
  167. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +32 -0
  168. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +1 -0
  169. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +21 -21
  170. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +25 -25
  171. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +191 -0
  172. package/dist/src/alarms_and_conditions/ua_condition_base.js +1029 -0
  173. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +1 -0
  174. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +182 -182
  175. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1022 -1022
  176. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +11 -0
  177. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +58 -0
  178. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +1 -0
  179. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +17 -17
  180. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  181. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +24 -0
  182. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +59 -0
  183. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +1 -0
  184. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +27 -27
  185. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  186. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +14 -0
  187. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +17 -0
  188. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +1 -0
  189. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +9 -9
  190. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  191. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +22 -0
  192. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +87 -0
  193. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +1 -0
  194. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +38 -38
  195. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  196. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +6 -0
  197. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +11 -0
  198. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +1 -0
  199. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  200. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  201. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +76 -0
  202. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +237 -0
  203. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +1 -0
  204. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +97 -97
  205. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  206. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +27 -0
  207. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +62 -0
  208. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +1 -0
  209. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -28
  210. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  211. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +49 -0
  212. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +176 -0
  213. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +1 -0
  214. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +25 -25
  215. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  216. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +47 -0
  217. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +151 -0
  218. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +1 -0
  219. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +39 -39
  220. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +135 -135
  221. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +16 -0
  222. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +18 -0
  223. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +1 -0
  224. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +16 -16
  225. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  226. package/dist/src/apply_condition_refresh.d.ts +6 -6
  227. package/dist/src/apply_condition_refresh.js +27 -27
  228. package/dist/src/base_node.d.ts +270 -0
  229. package/dist/src/base_node.js +1299 -0
  230. package/dist/src/base_node.js.map +1 -0
  231. package/dist/src/base_node_impl.d.ts +281 -281
  232. package/dist/src/base_node_impl.js +1395 -1395
  233. package/dist/src/base_node_private.d.ts +61 -61
  234. package/dist/src/base_node_private.js +705 -705
  235. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  236. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  237. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  238. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  239. package/dist/src/data_access/ua_analog_item.d.ts +13 -0
  240. package/dist/src/data_access/ua_analog_item.js +37 -0
  241. package/dist/src/data_access/ua_analog_item.js.map +1 -0
  242. package/dist/src/data_access/ua_data_item.d.ts +16 -0
  243. package/dist/src/data_access/ua_data_item.js +66 -0
  244. package/dist/src/data_access/ua_data_item.js.map +1 -0
  245. package/dist/src/data_access/ua_multistate_discrete.d.ts +24 -0
  246. package/dist/src/data_access/ua_multistate_discrete.js +132 -0
  247. package/dist/src/data_access/ua_multistate_discrete.js.map +1 -0
  248. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  249. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  250. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  251. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  252. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  253. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  254. package/dist/src/event_data.d.ts +29 -29
  255. package/dist/src/event_data.js +95 -95
  256. package/dist/src/extension_object_array_node.d.ts +61 -61
  257. package/dist/src/extension_object_array_node.js +276 -276
  258. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  259. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  260. package/dist/src/index_current.d.ts +45 -45
  261. package/dist/src/index_current.js +77 -77
  262. package/dist/src/namespace.d.ts +472 -0
  263. package/dist/src/namespace.js +1759 -0
  264. package/dist/src/namespace.js.map +1 -0
  265. package/dist/src/namespace_impl.d.ts +457 -457
  266. package/dist/src/namespace_impl.js +1733 -1733
  267. package/dist/src/namespace_private.d.ts +21 -21
  268. package/dist/src/namespace_private.js +32 -32
  269. package/dist/src/nodeid_manager.d.ts +36 -36
  270. package/dist/src/nodeid_manager.js +197 -197
  271. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  272. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  273. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  274. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  275. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  276. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  277. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  278. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  279. package/dist/src/reference.d.ts +43 -0
  280. package/dist/src/reference.js +138 -0
  281. package/dist/src/reference.js.map +1 -0
  282. package/dist/src/reference_impl.d.ts +43 -43
  283. package/dist/src/reference_impl.js +139 -139
  284. package/dist/src/role_permissions.d.ts +2 -2
  285. package/dist/src/role_permissions.js +10 -10
  286. package/dist/src/session_context.d.ts +4 -0
  287. package/dist/src/session_context.js +9 -0
  288. package/dist/src/session_context.js.map +1 -0
  289. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  290. package/dist/src/state_machine/finite_state_machine.js +353 -353
  291. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  292. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  293. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  294. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  295. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  296. package/dist/src/tool_isSupertypeOf.js +108 -108
  297. package/dist/src/ua_condition_type.d.ts +8 -8
  298. package/dist/src/ua_condition_type.js +2 -2
  299. package/dist/src/ua_data_type.d.ts +81 -0
  300. package/dist/src/ua_data_type.js +259 -0
  301. package/dist/src/ua_data_type.js.map +1 -0
  302. package/dist/src/ua_data_type_impl.d.ts +93 -93
  303. package/dist/src/ua_data_type_impl.js +368 -368
  304. package/dist/src/ua_method.d.ts +33 -0
  305. package/dist/src/ua_method.js +194 -0
  306. package/dist/src/ua_method.js.map +1 -0
  307. package/dist/src/ua_method_impl.d.ts +41 -41
  308. package/dist/src/ua_method_impl.js +208 -208
  309. package/dist/src/ua_object.d.ts +27 -0
  310. package/dist/src/ua_object.js +153 -0
  311. package/dist/src/ua_object.js.map +1 -0
  312. package/dist/src/ua_object_impl.d.ts +33 -33
  313. package/dist/src/ua_object_impl.js +156 -156
  314. package/dist/src/ua_object_type.d.ts +49 -0
  315. package/dist/src/ua_object_type.js +123 -0
  316. package/dist/src/ua_object_type.js.map +1 -0
  317. package/dist/src/ua_object_type_impl.d.ts +48 -48
  318. package/dist/src/ua_object_type_impl.js +124 -124
  319. package/dist/src/ua_reference_type.d.ts +31 -0
  320. package/dist/src/ua_reference_type.js +108 -0
  321. package/dist/src/ua_reference_type.js.map +1 -0
  322. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  323. package/dist/src/ua_reference_type_impl.js +139 -139
  324. package/dist/src/ua_variable.d.ts +346 -0
  325. package/dist/src/ua_variable.js +1651 -0
  326. package/dist/src/ua_variable.js.map +1 -0
  327. package/dist/src/ua_variable_impl.d.ts +351 -351
  328. package/dist/src/ua_variable_impl.js +1604 -1604
  329. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  330. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  331. package/dist/src/ua_variable_type.d.ts +57 -0
  332. package/dist/src/ua_variable_type.js +530 -0
  333. package/dist/src/ua_variable_type.js.map +1 -0
  334. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  335. package/dist/src/ua_variable_type_impl.js +570 -564
  336. package/dist/src/ua_variable_type_impl.js.map +1 -1
  337. package/dist/src/ua_view.d.ts +16 -0
  338. package/dist/src/ua_view.js +41 -0
  339. package/dist/src/ua_view.js.map +1 -0
  340. package/dist/src/ua_view_impl.d.ts +15 -15
  341. package/dist/src/ua_view_impl.js +36 -36
  342. package/distHelpers/add_event_generator_object.d.ts +3 -3
  343. package/distHelpers/add_event_generator_object.js +65 -65
  344. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  345. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  346. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  347. package/distHelpers/assertHasMatchingReference.js +40 -40
  348. package/distHelpers/boiler_system.d.ts +113 -113
  349. package/distHelpers/boiler_system.js +395 -395
  350. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  351. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  352. package/distHelpers/date_utils.d.ts +3 -3
  353. package/distHelpers/date_utils.js +9 -9
  354. package/distHelpers/dump_statemachine.js +127 -127
  355. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  356. package/distHelpers/get_address_space_fixture.js +30 -30
  357. package/distHelpers/get_mini_address_space.d.ts +7 -7
  358. package/distHelpers/get_mini_address_space.js +36 -36
  359. package/distHelpers/index.d.ts +12 -12
  360. package/distHelpers/index.js +28 -28
  361. package/distHelpers/mock_session.d.ts +14 -14
  362. package/distHelpers/mock_session.js +25 -25
  363. package/distNodeJS/generate_address_space.d.ts +4 -4
  364. package/distNodeJS/generate_address_space.js +41 -41
  365. package/distNodeJS/index.d.ts +1 -1
  366. package/distNodeJS/index.js +17 -17
  367. package/package.json +38 -38
  368. package/src/ua_variable_type_impl.ts +11 -4
  369. package/test_helpers/test_fixtures/eurange_issue.xml +73 -0
@@ -1,251 +1,251 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UALimitAlarmImpl = void 0;
4
- const node_opcua_assert_1 = require("node-opcua-assert");
5
- const node_opcua_data_model_1 = require("node-opcua-data-model");
6
- const node_opcua_data_value_1 = require("node-opcua-data-value");
7
- const node_opcua_debug_1 = require("node-opcua-debug");
8
- const node_opcua_status_code_1 = require("node-opcua-status-code");
9
- const node_opcua_variant_1 = require("node-opcua-variant");
10
- const ua_alarm_condition_impl_1 = require("./ua_alarm_condition_impl");
11
- const warningLog = (0, node_opcua_debug_1.make_warningLog)("AlarmsAndConditions");
12
- const uaLimitAlarmInputSupportedDataType = [
13
- node_opcua_variant_1.DataType.Double,
14
- node_opcua_variant_1.DataType.Float,
15
- node_opcua_variant_1.DataType.Byte,
16
- node_opcua_variant_1.DataType.SByte,
17
- node_opcua_variant_1.DataType.Int16,
18
- node_opcua_variant_1.DataType.Int32,
19
- node_opcua_variant_1.DataType.UInt16,
20
- node_opcua_variant_1.DataType.UInt32
21
- ];
22
- class UALimitAlarmImpl extends ua_alarm_condition_impl_1.UAAlarmConditionImpl {
23
- /**
24
- * @method (static)UALimitAlarm.instantiate
25
- * @param namespace {INamespace}
26
- * @param limitAlarmTypeId
27
- * @param options
28
- * @param options.inputNode
29
- * @param options.optionals
30
- * @param options.highHighLimit {Double}
31
- * @param options.highLimit {Double}
32
- * @param options.lowLimit {Double}
33
- * @param options.lowLowLimit {Double}
34
- * @param data
35
- * @return {UALimitAlarm}
36
- */
37
- static instantiate(namespace, limitAlarmTypeId, options, data) {
38
- const addressSpace = namespace.addressSpace;
39
- // must provide a inputNode
40
- // xx assert(Object.prototype.hasOwnProperty.call(options,"conditionOf")); // must provide a conditionOf
41
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "inputNode"), "UALimitAlarm.instantiate: options must provide the inputNode");
42
- options.optionals = options.optionals || [];
43
- let count = 0;
44
- if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
45
- options.optionals.push("HighHighLimit");
46
- options.optionals.push("HighHighState");
47
- count++;
48
- }
49
- if (Object.prototype.hasOwnProperty.call(options, "highLimit")) {
50
- options.optionals.push("HighLimit");
51
- options.optionals.push("HighState");
52
- count++;
53
- }
54
- if (Object.prototype.hasOwnProperty.call(options, "lowLimit")) {
55
- options.optionals.push("LowLimit");
56
- options.optionals.push("LowState");
57
- count++;
58
- }
59
- if (Object.prototype.hasOwnProperty.call(options, "lowLowLimit")) {
60
- options.optionals.push("LowLowLimit");
61
- options.optionals.push("LowLowState");
62
- count++;
63
- }
64
- // xx assert(options.optionals,"must provide an optionals");
65
- const alarmNode = ua_alarm_condition_impl_1.UAAlarmConditionImpl.instantiate(namespace, limitAlarmTypeId, options, data);
66
- Object.setPrototypeOf(alarmNode, UALimitAlarmImpl.prototype);
67
- (0, node_opcua_assert_1.assert)(alarmNode.conditionOfNode() !== null);
68
- const inputNode = addressSpace._coerceNode(options.inputNode);
69
- if (!inputNode) {
70
- throw new Error("Expecting a valid input node");
71
- }
72
- (0, node_opcua_assert_1.assert)(inputNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable);
73
- // ----------------------- Install Limit Alarm specifics
74
- // from spec 1.03:
75
- // Four optional limits are defined that configure the states of the derived limit Alarm Types.
76
- // These Properties shall be set for any Alarm limits that are exposed by the derived limit Alarm
77
- // Types. These Properties are listed as optional but at least one is required. For cases where
78
- // an underlying system cannot provide the actual value of a limit, the limit Property shall still be
79
- // provided, but will have its AccessLevel set to not readable. It is assumed that the limits are
80
- // described using the same Engineering Unit that is assigned to the variable that is the source
81
- // of the alarm. For Rate of change limit alarms, it is assumed this rate is units per second
82
- // unless otherwise specified.
83
- if (count === 0) {
84
- throw new Error("at least one limit is required");
85
- }
86
- const dataType = addressSpace.findCorrespondingBasicDataType(options.inputNode.dataType);
87
- if (-1 === uaLimitAlarmInputSupportedDataType.indexOf(dataType)) {
88
- const message = (`UALimitAlarm.instantiate: inputNode must be of type ${uaLimitAlarmInputSupportedDataType
89
- .map((a) => node_opcua_variant_1.DataType[a])
90
- .join("|")}, got ${node_opcua_variant_1.DataType[dataType]}`);
91
- warningLog(message);
92
- throw (new Error(message));
93
- }
94
- if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
95
- alarmNode.setHighHighLimit(options.highHighLimit);
96
- }
97
- if (Object.prototype.hasOwnProperty.call(options, "highLimit")) {
98
- alarmNode.setHighLimit(options.highLimit);
99
- }
100
- if (Object.prototype.hasOwnProperty.call(options, "lowLimit")) {
101
- alarmNode.setLowLimit(options.lowLimit);
102
- }
103
- if (Object.prototype.hasOwnProperty.call(options, "lowLowLimit")) {
104
- alarmNode.setLowLowLimit(options.lowLowLimit);
105
- }
106
- /*
107
- * The InputNode Property provides the NodeId of the Variable the Value of which is used as
108
- * primary input in the calculation of the Alarm state. If this Variable is not in the AddressSpace,
109
- * a Null NodeId shall be provided. In some systems, an Alarm may be calculated based on
110
- * multiple Variables Values; it is up to the system to determine which Variable’s NodeId is used.
111
- */
112
- (0, node_opcua_assert_1.assert)(alarmNode.inputNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable);
113
- alarmNode.inputNode.setValueFromSource({ dataType: "NodeId", value: inputNode.nodeId });
114
- // install inputNode monitoring for change
115
- alarmNode.installInputNodeMonitoring(options.inputNode);
116
- alarmNode._watchLimits();
117
- return alarmNode;
118
- }
119
- /**
120
- * @method getHighHighLimit
121
- * @return {Number}
122
- */
123
- getHighHighLimit() {
124
- if (!this.highHighLimit) {
125
- throw new Error("Alarm do not expose highHighLimit");
126
- }
127
- return this.highHighLimit.readValue().value.value;
128
- }
129
- /**
130
- * @method getHighLimit
131
- * @return {Number}
132
- */
133
- getHighLimit() {
134
- if (!this.highLimit) {
135
- throw new Error("Alarm do not expose highLimit");
136
- }
137
- return this.highLimit.readValue().value.value;
138
- }
139
- /**
140
- * @method getLowLimit
141
- * @return {Float}
142
- */
143
- getLowLimit() {
144
- if (!this.lowLimit) {
145
- throw new Error("Alarm do not expose lowLimit");
146
- }
147
- return this.lowLimit.readValue().value.value;
148
- }
149
- /**
150
- * @method getLowLowLimit
151
- * @return {Float}
152
- */
153
- getLowLowLimit() {
154
- if (!this.lowLowLimit) {
155
- throw new Error("Alarm do not expose lowLowLimit");
156
- }
157
- return this.lowLowLimit.readValue().value.value;
158
- }
159
- /**
160
- * @method setHighHighLimit
161
- * @param value {Float}
162
- */
163
- setHighHighLimit(value) {
164
- if (!this.highHighLimit) {
165
- throw new Error("LimitAlarm instance must expose the optional HighHighLimit property");
166
- }
167
- this.highHighLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
168
- }
169
- /**
170
- * @method setHighLimit
171
- * @param value {Float}
172
- */
173
- setHighLimit(value) {
174
- if (!this.highLimit) {
175
- throw new Error("LimitAlarm instance must expose the optional HighLimit property");
176
- }
177
- this.highLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
178
- }
179
- /**
180
- * @method setLowLimit
181
- * @param value {Float}
182
- */
183
- setLowLimit(value) {
184
- if (!this.lowLimit) {
185
- throw new Error("LimitAlarm instance must expose the optional LowLimit property");
186
- }
187
- this.lowLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
188
- }
189
- /**
190
- * @method setLowLowLimit
191
- * @param value {Float}
192
- */
193
- setLowLowLimit(value) {
194
- if (!this.lowLowLimit) {
195
- throw new Error("LimitAlarm instance must expose the optional LowLowLimit property");
196
- }
197
- this.lowLowLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
198
- }
199
- _onInputDataValueChange(dataValue) {
200
- (0, node_opcua_assert_1.assert)(dataValue instanceof node_opcua_data_value_1.DataValue);
201
- if (dataValue.statusCode === node_opcua_status_code_1.StatusCodes.BadWaitingForInitialData &&
202
- dataValue.statusCode === node_opcua_status_code_1.StatusCodes.UncertainInitialValue) {
203
- // we are not ready yet to use the input node value
204
- return;
205
- }
206
- if (dataValue.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
207
- // what shall we do ?
208
- this._signalNewCondition(null);
209
- return;
210
- }
211
- if (dataValue.value.dataType === node_opcua_variant_1.DataType.Null) {
212
- // what shall we do ?
213
- this._signalNewCondition(null);
214
- return;
215
- }
216
- const value = dataValue.value.value;
217
- this._setStateBasedOnInputValue(value);
218
- }
219
- _setStateBasedOnInputValue(value) {
220
- throw new Error("_setStateBasedOnInputValue must be overriden");
221
- }
222
- _watchLimits() {
223
- /// ----------------------------------------------------------------------
224
- /// Installing Limits monitored
225
- const _updateState = () => this.updateState();
226
- if (this.highHighLimit) {
227
- this.highHighLimit.on("value_changed", _updateState);
228
- }
229
- if (this.highLimit) {
230
- this.highLimit.on("value_changed", _updateState);
231
- }
232
- if (this.lowLimit) {
233
- this.lowLimit.on("value_changed", _updateState);
234
- }
235
- if (this.lowLowLimit) {
236
- this.lowLowLimit.on("value_changed", _updateState);
237
- }
238
- }
239
- evaluateConditionsAfterEnabled() {
240
- (0, node_opcua_assert_1.assert)(this.getEnabledState() === true);
241
- // simulate input value event
242
- const input = this.getInputNodeNode();
243
- if (!input) {
244
- return;
245
- }
246
- const dataValue = input.readValue();
247
- this._onInputDataValueChange(dataValue);
248
- }
249
- }
250
- exports.UALimitAlarmImpl = UALimitAlarmImpl;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UALimitAlarmImpl = void 0;
4
+ const node_opcua_assert_1 = require("node-opcua-assert");
5
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
6
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
7
+ const node_opcua_debug_1 = require("node-opcua-debug");
8
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
9
+ const node_opcua_variant_1 = require("node-opcua-variant");
10
+ const ua_alarm_condition_impl_1 = require("./ua_alarm_condition_impl");
11
+ const warningLog = (0, node_opcua_debug_1.make_warningLog)("AlarmsAndConditions");
12
+ const uaLimitAlarmInputSupportedDataType = [
13
+ node_opcua_variant_1.DataType.Double,
14
+ node_opcua_variant_1.DataType.Float,
15
+ node_opcua_variant_1.DataType.Byte,
16
+ node_opcua_variant_1.DataType.SByte,
17
+ node_opcua_variant_1.DataType.Int16,
18
+ node_opcua_variant_1.DataType.Int32,
19
+ node_opcua_variant_1.DataType.UInt16,
20
+ node_opcua_variant_1.DataType.UInt32
21
+ ];
22
+ class UALimitAlarmImpl extends ua_alarm_condition_impl_1.UAAlarmConditionImpl {
23
+ /**
24
+ * @method (static)UALimitAlarm.instantiate
25
+ * @param namespace {INamespace}
26
+ * @param limitAlarmTypeId
27
+ * @param options
28
+ * @param options.inputNode
29
+ * @param options.optionals
30
+ * @param options.highHighLimit {Double}
31
+ * @param options.highLimit {Double}
32
+ * @param options.lowLimit {Double}
33
+ * @param options.lowLowLimit {Double}
34
+ * @param data
35
+ * @return {UALimitAlarm}
36
+ */
37
+ static instantiate(namespace, limitAlarmTypeId, options, data) {
38
+ const addressSpace = namespace.addressSpace;
39
+ // must provide a inputNode
40
+ // xx assert(Object.prototype.hasOwnProperty.call(options,"conditionOf")); // must provide a conditionOf
41
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "inputNode"), "UALimitAlarm.instantiate: options must provide the inputNode");
42
+ options.optionals = options.optionals || [];
43
+ let count = 0;
44
+ if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
45
+ options.optionals.push("HighHighLimit");
46
+ options.optionals.push("HighHighState");
47
+ count++;
48
+ }
49
+ if (Object.prototype.hasOwnProperty.call(options, "highLimit")) {
50
+ options.optionals.push("HighLimit");
51
+ options.optionals.push("HighState");
52
+ count++;
53
+ }
54
+ if (Object.prototype.hasOwnProperty.call(options, "lowLimit")) {
55
+ options.optionals.push("LowLimit");
56
+ options.optionals.push("LowState");
57
+ count++;
58
+ }
59
+ if (Object.prototype.hasOwnProperty.call(options, "lowLowLimit")) {
60
+ options.optionals.push("LowLowLimit");
61
+ options.optionals.push("LowLowState");
62
+ count++;
63
+ }
64
+ // xx assert(options.optionals,"must provide an optionals");
65
+ const alarmNode = ua_alarm_condition_impl_1.UAAlarmConditionImpl.instantiate(namespace, limitAlarmTypeId, options, data);
66
+ Object.setPrototypeOf(alarmNode, UALimitAlarmImpl.prototype);
67
+ (0, node_opcua_assert_1.assert)(alarmNode.conditionOfNode() !== null);
68
+ const inputNode = addressSpace._coerceNode(options.inputNode);
69
+ if (!inputNode) {
70
+ throw new Error("Expecting a valid input node");
71
+ }
72
+ (0, node_opcua_assert_1.assert)(inputNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable);
73
+ // ----------------------- Install Limit Alarm specifics
74
+ // from spec 1.03:
75
+ // Four optional limits are defined that configure the states of the derived limit Alarm Types.
76
+ // These Properties shall be set for any Alarm limits that are exposed by the derived limit Alarm
77
+ // Types. These Properties are listed as optional but at least one is required. For cases where
78
+ // an underlying system cannot provide the actual value of a limit, the limit Property shall still be
79
+ // provided, but will have its AccessLevel set to not readable. It is assumed that the limits are
80
+ // described using the same Engineering Unit that is assigned to the variable that is the source
81
+ // of the alarm. For Rate of change limit alarms, it is assumed this rate is units per second
82
+ // unless otherwise specified.
83
+ if (count === 0) {
84
+ throw new Error("at least one limit is required");
85
+ }
86
+ const dataType = addressSpace.findCorrespondingBasicDataType(options.inputNode.dataType);
87
+ if (-1 === uaLimitAlarmInputSupportedDataType.indexOf(dataType)) {
88
+ const message = (`UALimitAlarm.instantiate: inputNode must be of type ${uaLimitAlarmInputSupportedDataType
89
+ .map((a) => node_opcua_variant_1.DataType[a])
90
+ .join("|")}, got ${node_opcua_variant_1.DataType[dataType]}`);
91
+ warningLog(message);
92
+ throw (new Error(message));
93
+ }
94
+ if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
95
+ alarmNode.setHighHighLimit(options.highHighLimit);
96
+ }
97
+ if (Object.prototype.hasOwnProperty.call(options, "highLimit")) {
98
+ alarmNode.setHighLimit(options.highLimit);
99
+ }
100
+ if (Object.prototype.hasOwnProperty.call(options, "lowLimit")) {
101
+ alarmNode.setLowLimit(options.lowLimit);
102
+ }
103
+ if (Object.prototype.hasOwnProperty.call(options, "lowLowLimit")) {
104
+ alarmNode.setLowLowLimit(options.lowLowLimit);
105
+ }
106
+ /*
107
+ * The InputNode Property provides the NodeId of the Variable the Value of which is used as
108
+ * primary input in the calculation of the Alarm state. If this Variable is not in the AddressSpace,
109
+ * a Null NodeId shall be provided. In some systems, an Alarm may be calculated based on
110
+ * multiple Variables Values; it is up to the system to determine which Variable’s NodeId is used.
111
+ */
112
+ (0, node_opcua_assert_1.assert)(alarmNode.inputNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable);
113
+ alarmNode.inputNode.setValueFromSource({ dataType: "NodeId", value: inputNode.nodeId });
114
+ // install inputNode monitoring for change
115
+ alarmNode.installInputNodeMonitoring(options.inputNode);
116
+ alarmNode._watchLimits();
117
+ return alarmNode;
118
+ }
119
+ /**
120
+ * @method getHighHighLimit
121
+ * @return {Number}
122
+ */
123
+ getHighHighLimit() {
124
+ if (!this.highHighLimit) {
125
+ throw new Error("Alarm do not expose highHighLimit");
126
+ }
127
+ return this.highHighLimit.readValue().value.value;
128
+ }
129
+ /**
130
+ * @method getHighLimit
131
+ * @return {Number}
132
+ */
133
+ getHighLimit() {
134
+ if (!this.highLimit) {
135
+ throw new Error("Alarm do not expose highLimit");
136
+ }
137
+ return this.highLimit.readValue().value.value;
138
+ }
139
+ /**
140
+ * @method getLowLimit
141
+ * @return {Float}
142
+ */
143
+ getLowLimit() {
144
+ if (!this.lowLimit) {
145
+ throw new Error("Alarm do not expose lowLimit");
146
+ }
147
+ return this.lowLimit.readValue().value.value;
148
+ }
149
+ /**
150
+ * @method getLowLowLimit
151
+ * @return {Float}
152
+ */
153
+ getLowLowLimit() {
154
+ if (!this.lowLowLimit) {
155
+ throw new Error("Alarm do not expose lowLowLimit");
156
+ }
157
+ return this.lowLowLimit.readValue().value.value;
158
+ }
159
+ /**
160
+ * @method setHighHighLimit
161
+ * @param value {Float}
162
+ */
163
+ setHighHighLimit(value) {
164
+ if (!this.highHighLimit) {
165
+ throw new Error("LimitAlarm instance must expose the optional HighHighLimit property");
166
+ }
167
+ this.highHighLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
168
+ }
169
+ /**
170
+ * @method setHighLimit
171
+ * @param value {Float}
172
+ */
173
+ setHighLimit(value) {
174
+ if (!this.highLimit) {
175
+ throw new Error("LimitAlarm instance must expose the optional HighLimit property");
176
+ }
177
+ this.highLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
178
+ }
179
+ /**
180
+ * @method setLowLimit
181
+ * @param value {Float}
182
+ */
183
+ setLowLimit(value) {
184
+ if (!this.lowLimit) {
185
+ throw new Error("LimitAlarm instance must expose the optional LowLimit property");
186
+ }
187
+ this.lowLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
188
+ }
189
+ /**
190
+ * @method setLowLowLimit
191
+ * @param value {Float}
192
+ */
193
+ setLowLowLimit(value) {
194
+ if (!this.lowLowLimit) {
195
+ throw new Error("LimitAlarm instance must expose the optional LowLowLimit property");
196
+ }
197
+ this.lowLowLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
198
+ }
199
+ _onInputDataValueChange(dataValue) {
200
+ (0, node_opcua_assert_1.assert)(dataValue instanceof node_opcua_data_value_1.DataValue);
201
+ if (dataValue.statusCode === node_opcua_status_code_1.StatusCodes.BadWaitingForInitialData &&
202
+ dataValue.statusCode === node_opcua_status_code_1.StatusCodes.UncertainInitialValue) {
203
+ // we are not ready yet to use the input node value
204
+ return;
205
+ }
206
+ if (dataValue.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
207
+ // what shall we do ?
208
+ this._signalNewCondition(null);
209
+ return;
210
+ }
211
+ if (dataValue.value.dataType === node_opcua_variant_1.DataType.Null) {
212
+ // what shall we do ?
213
+ this._signalNewCondition(null);
214
+ return;
215
+ }
216
+ const value = dataValue.value.value;
217
+ this._setStateBasedOnInputValue(value);
218
+ }
219
+ _setStateBasedOnInputValue(value) {
220
+ throw new Error("_setStateBasedOnInputValue must be overriden");
221
+ }
222
+ _watchLimits() {
223
+ /// ----------------------------------------------------------------------
224
+ /// Installing Limits monitored
225
+ const _updateState = () => this.updateState();
226
+ if (this.highHighLimit) {
227
+ this.highHighLimit.on("value_changed", _updateState);
228
+ }
229
+ if (this.highLimit) {
230
+ this.highLimit.on("value_changed", _updateState);
231
+ }
232
+ if (this.lowLimit) {
233
+ this.lowLimit.on("value_changed", _updateState);
234
+ }
235
+ if (this.lowLowLimit) {
236
+ this.lowLowLimit.on("value_changed", _updateState);
237
+ }
238
+ }
239
+ evaluateConditionsAfterEnabled() {
240
+ (0, node_opcua_assert_1.assert)(this.getEnabledState() === true);
241
+ // simulate input value event
242
+ const input = this.getInputNodeNode();
243
+ if (!input) {
244
+ return;
245
+ }
246
+ const dataValue = input.readValue();
247
+ this._onInputDataValueChange(dataValue);
248
+ }
249
+ }
250
+ exports.UALimitAlarmImpl = UALimitAlarmImpl;
251
251
  //# sourceMappingURL=ua_limit_alarm_impl.js.map
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @module node-opcua-address-space.AlarmsAndConditions
3
+ */
4
+ import { DataValue } from "node-opcua-data-value";
5
+ import { NodeId } from "node-opcua-nodeid";
6
+ import { DataType } from "node-opcua-variant";
7
+ import { UAVariable, UAVariableT } from "../../source";
8
+ import { NamespacePrivate } from "../namespace_private";
9
+ import { DeviationStuff } from "./deviation_alarm_helper";
10
+ import { UANonExclusiveLimitAlarm } from "./ua_non_exclusive_limit_alarm";
11
+ export interface UANonExclusiveDeviationAlarm extends UANonExclusiveLimitAlarm {
12
+ setpointNode: UAVariableT<NodeId, DataType.NodeId>;
13
+ setpointNodeNode: UAVariable;
14
+ }
15
+ /**
16
+ * @class UANonExclusiveDeviationAlarm
17
+ * @extends UANonExclusiveLimitAlarm
18
+ * @constructor
19
+ */
20
+ export declare class UANonExclusiveDeviationAlarm extends UANonExclusiveLimitAlarm implements DeviationStuff {
21
+ static instantiate(namespace: NamespacePrivate, type: string | NodeId, options: any, data: any): UANonExclusiveDeviationAlarm;
22
+ _setStateBasedOnInputValue(value: number): void;
23
+ getSetpointNodeNode(): UAVariable;
24
+ getSetpointValue(): number | null;
25
+ _onSetpointDataValueChange(dataValue: DataValue): void;
26
+ _install_setpoint(options: any): any;
27
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * @module node-opcua-address-space.AlarmsAndConditions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UANonExclusiveDeviationAlarm = void 0;
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const deviation_alarm_helper_1 = require("./deviation_alarm_helper");
9
+ const ua_limit_alarm_1 = require("./ua_limit_alarm");
10
+ const ua_non_exclusive_limit_alarm_1 = require("./ua_non_exclusive_limit_alarm");
11
+ /**
12
+ * @class UANonExclusiveDeviationAlarm
13
+ * @extends UANonExclusiveLimitAlarm
14
+ * @constructor
15
+ */
16
+ class UANonExclusiveDeviationAlarm extends ua_non_exclusive_limit_alarm_1.UANonExclusiveLimitAlarm {
17
+ static instantiate(namespace, type, options, data) {
18
+ const addressSpace = namespace.addressSpace;
19
+ const nonExclusiveDeviationAlarmType = addressSpace.findEventType("NonExclusiveDeviationAlarmType");
20
+ /* istanbul ignore next */
21
+ if (!nonExclusiveDeviationAlarmType) {
22
+ throw new Error("cannot find ExclusiveDeviationAlarmType");
23
+ }
24
+ node_opcua_assert_1.assert(type === nonExclusiveDeviationAlarmType.browseName.toString());
25
+ const alarm = ua_non_exclusive_limit_alarm_1.UANonExclusiveLimitAlarm.instantiate(namespace, type, options, data);
26
+ Object.setPrototypeOf(alarm, UANonExclusiveDeviationAlarm.prototype);
27
+ node_opcua_assert_1.assert(alarm instanceof UANonExclusiveDeviationAlarm);
28
+ node_opcua_assert_1.assert(alarm instanceof ua_non_exclusive_limit_alarm_1.UANonExclusiveLimitAlarm);
29
+ node_opcua_assert_1.assert(alarm instanceof ua_limit_alarm_1.UALimitAlarm);
30
+ alarm._install_setpoint(options);
31
+ return alarm;
32
+ }
33
+ _setStateBasedOnInputValue(value) {
34
+ const setpointValue = this.getSetpointValue();
35
+ if (setpointValue === null) {
36
+ throw new Error("Cannot access setpoint Value");
37
+ }
38
+ node_opcua_assert_1.assert(isFinite(setpointValue), "expecting a valid setpoint value");
39
+ // call base class implementation
40
+ super._setStateBasedOnInputValue(value - setpointValue);
41
+ }
42
+ getSetpointNodeNode() {
43
+ return deviation_alarm_helper_1.DeviationAlarmHelper_getSetpointNodeNode.call(this);
44
+ }
45
+ getSetpointValue() {
46
+ return deviation_alarm_helper_1.DeviationAlarmHelper_getSetpointValue.call(this);
47
+ }
48
+ _onSetpointDataValueChange(dataValue) {
49
+ deviation_alarm_helper_1.DeviationAlarmHelper_onSetpointDataValueChange.call(this, dataValue);
50
+ }
51
+ _install_setpoint(options) {
52
+ return deviation_alarm_helper_1.DeviationAlarmHelper_install_setpoint.call(this, options);
53
+ }
54
+ }
55
+ exports.UANonExclusiveDeviationAlarm = UANonExclusiveDeviationAlarm;
56
+ /*
57
+ UANonExclusiveDeviationAlarm.prototype.getSetpointNodeNode = DeviationAlarmHelper.getSetpointNodeNode;
58
+ UANonExclusiveDeviationAlarm.prototype.getSetpointValue = DeviationAlarmHelper.getSetpointValue;
59
+ UANonExclusiveDeviationAlarm.prototype._onSetpointDataValueChange = DeviationAlarmHelper._onSetpointDataValueChange;
60
+ UANonExclusiveDeviationAlarm.prototype._install_setpoint = DeviationAlarmHelper._install_setpoint;
61
+ */
62
+ //# sourceMappingURL=ua_non_exclusive_deviation_alarm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_non_exclusive_deviation_alarm.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAA2C;AAQ3C,qEAMkC;AAClC,qDAAgD;AAChD,iFAA0E;AAO1E;;;;GAIG;AACH,MAAa,4BAA6B,SAAQ,uDAAwB;IAC/D,MAAM,CAAC,WAAW,CACrB,SAA2B,EAC3B,IAAqB,EACrB,OAAY,EACZ,IAAS;QAET,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAE5C,MAAM,8BAA8B,GAAG,YAAY,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;QACpG,0BAA0B;QAC1B,IAAI,CAAC,8BAA8B,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QACD,0BAAM,CAAC,IAAI,KAAK,8BAA8B,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAG,uDAAwB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAiC,CAAC;QACnH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAErE,0BAAM,CAAC,KAAK,YAAY,4BAA4B,CAAC,CAAC;QACtD,0BAAM,CAAC,KAAK,YAAY,uDAAwB,CAAC,CAAC;QAClD,0BAAM,CAAC,KAAK,YAAY,6BAAY,CAAC,CAAC;QAEtC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,0BAA0B,CAAC,KAAa;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,aAAa,KAAK,IAAI,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACnD;QACD,0BAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACpE,iCAAiC;QACjC,KAAK,CAAC,0BAA0B,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC;IAC5D,CAAC;IAEM,mBAAmB;QACtB,OAAO,iEAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAEM,gBAAgB;QACnB,OAAO,8DAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEM,0BAA0B,CAAC,SAAoB;QAClD,uEAA8C,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAEM,iBAAiB,CAAC,OAAY;QACjC,OAAO,8DAAqC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ;AArDD,oEAqDC;AAED;;;;;EAKE"}