node-opcua-address-space 2.51.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 (598) hide show
  1. package/.mocharc.yml +12 -0
  2. package/LICENSE +20 -0
  3. package/dist/source/address_space_ts.d.ts +122 -0
  4. package/dist/source/address_space_ts.js +18 -0
  5. package/dist/source/address_space_ts.js.map +1 -0
  6. package/dist/source/continuation_points/continuation_point_manager.d.ts +21 -0
  7. package/dist/source/continuation_points/continuation_point_manager.js +100 -0
  8. package/dist/source/continuation_points/continuation_point_manager.js.map +1 -0
  9. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -0
  10. package/dist/source/helpers/adjust_browse_direction.js +12 -0
  11. package/dist/source/helpers/adjust_browse_direction.js.map +1 -0
  12. package/dist/source/helpers/argument_list.d.ts +30 -0
  13. package/dist/source/helpers/argument_list.js +237 -0
  14. package/dist/source/helpers/argument_list.js.map +1 -0
  15. package/dist/source/helpers/call_helpers.d.ts +6 -0
  16. package/dist/source/helpers/call_helpers.js +71 -0
  17. package/dist/source/helpers/call_helpers.js.map +1 -0
  18. package/dist/source/helpers/check_event_clause.d.ts +17 -0
  19. package/dist/source/helpers/check_event_clause.js +53 -0
  20. package/dist/source/helpers/check_event_clause.js.map +1 -0
  21. package/dist/source/helpers/coerce_enum_value.d.ts +6 -0
  22. package/dist/source/helpers/coerce_enum_value.js +34 -0
  23. package/dist/source/helpers/coerce_enum_value.js.map +1 -0
  24. package/dist/source/helpers/dump_tools.d.ts +14 -0
  25. package/dist/source/helpers/dump_tools.js +79 -0
  26. package/dist/source/helpers/dump_tools.js.map +1 -0
  27. package/dist/source/helpers/ensure_secure_access.d.ts +9 -0
  28. package/dist/source/helpers/ensure_secure_access.js +90 -0
  29. package/dist/source/helpers/ensure_secure_access.js.map +1 -0
  30. package/dist/source/helpers/make_optionals_map.d.ts +21 -0
  31. package/dist/source/helpers/make_optionals_map.js +30 -0
  32. package/dist/source/helpers/make_optionals_map.js.map +1 -0
  33. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -0
  34. package/dist/source/helpers/resolve_opaque_on_address_space.js +37 -0
  35. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +1 -0
  36. package/dist/source/index.d.ts +39 -0
  37. package/dist/source/index.js +62 -0
  38. package/dist/source/index.js.map +1 -0
  39. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -0
  40. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +3 -0
  41. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -0
  42. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +1 -0
  43. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +3 -0
  44. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +1 -0
  45. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +4 -0
  46. package/dist/source/interfaces/data_access/ua_discrete_item.js +3 -0
  47. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +1 -0
  48. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +25 -0
  49. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +3 -0
  50. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +1 -0
  51. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -0
  52. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +3 -0
  53. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +1 -0
  54. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +27 -0
  55. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +3 -0
  56. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +1 -0
  57. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -0
  58. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +3 -0
  59. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +1 -0
  60. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +17 -0
  61. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +3 -0
  62. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +1 -0
  63. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -0
  64. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +3 -0
  65. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +1 -0
  66. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +4 -0
  67. package/dist/source/interfaces/data_access/ua_y_array_item.js +3 -0
  68. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +1 -0
  69. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -0
  70. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +3 -0
  71. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +1 -0
  72. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +11 -0
  73. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +3 -0
  74. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +1 -0
  75. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +69 -0
  76. package/dist/source/interfaces/state_machine/finite_state_machine.js +3 -0
  77. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +1 -0
  78. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +74 -0
  79. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +3 -0
  80. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +1 -0
  81. package/dist/source/interfaces/state_machine/state_machine.d.ts +342 -0
  82. package/dist/source/interfaces/state_machine/state_machine.js +3 -0
  83. package/dist/source/interfaces/state_machine/state_machine.js.map +1 -0
  84. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -0
  85. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +3 -0
  86. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +1 -0
  87. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -0
  88. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +3 -0
  89. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +1 -0
  90. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +18 -0
  91. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +3 -0
  92. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +1 -0
  93. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -0
  94. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +3 -0
  95. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +1 -0
  96. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -0
  97. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +3 -0
  98. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +1 -0
  99. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +29 -0
  100. package/dist/source/interfaces/state_machine/ua_state_variable.js +3 -0
  101. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +1 -0
  102. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -0
  103. package/dist/source/interfaces/state_machine/ua_transition_ex.js +3 -0
  104. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +1 -0
  105. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +26 -0
  106. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +3 -0
  107. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +1 -0
  108. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +41 -0
  109. package/dist/source/interfaces/subscription_diagnostics_variable.js +3 -0
  110. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +1 -0
  111. package/dist/source/interfaces/ua_authorisation_service.d.ts +1 -0
  112. package/dist/source/interfaces/ua_authorisation_service.js +3 -0
  113. package/dist/source/interfaces/ua_authorisation_service.js.map +1 -0
  114. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -0
  115. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +3 -0
  116. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -0
  117. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -0
  118. package/dist/source/loader/generateAddressSpaceRaw.js +59 -0
  119. package/dist/source/loader/generateAddressSpaceRaw.js.map +1 -0
  120. package/dist/source/loader/load_nodeset2.d.ts +13 -0
  121. package/dist/source/loader/load_nodeset2.js +1392 -0
  122. package/dist/source/loader/load_nodeset2.js.map +1 -0
  123. package/dist/source/loader/namespace_post_step.d.ts +6 -0
  124. package/dist/source/loader/namespace_post_step.js +48 -0
  125. package/dist/source/loader/namespace_post_step.js.map +1 -0
  126. package/dist/source/loader/register_node_promoter.d.ts +3 -0
  127. package/dist/source/loader/register_node_promoter.js +10 -0
  128. package/dist/source/loader/register_node_promoter.js.map +1 -0
  129. package/dist/source/namespace.d.ts +6 -0
  130. package/dist/source/namespace.js +3 -0
  131. package/dist/source/namespace.js.map +1 -0
  132. package/dist/source/namespace_alarm_and_condition.d.ts +24 -0
  133. package/dist/source/namespace_alarm_and_condition.js +3 -0
  134. package/dist/source/namespace_alarm_and_condition.js.map +1 -0
  135. package/dist/source/namespace_data_access.d.ts +42 -0
  136. package/dist/source/namespace_data_access.js +3 -0
  137. package/dist/source/namespace_data_access.js.map +1 -0
  138. package/dist/source/namespace_machine_state.d.ts +7 -0
  139. package/dist/source/namespace_machine_state.js +3 -0
  140. package/dist/source/namespace_machine_state.js.map +1 -0
  141. package/dist/source/pseudo_session.d.ts +55 -0
  142. package/dist/source/pseudo_session.js +205 -0
  143. package/dist/source/pseudo_session.js.map +1 -0
  144. package/dist/source/session_context.d.ts +111 -0
  145. package/dist/source/session_context.js +266 -0
  146. package/dist/source/session_context.js.map +1 -0
  147. package/dist/source/set_namespace_meta_data.d.ts +2 -0
  148. package/dist/source/set_namespace_meta_data.js +60 -0
  149. package/dist/source/set_namespace_meta_data.js.map +1 -0
  150. package/dist/source/ua_namespace_meta_data_type.d.ts +71 -0
  151. package/dist/source/ua_namespace_meta_data_type.js +3 -0
  152. package/dist/source/ua_namespace_meta_data_type.js.map +1 -0
  153. package/dist/source/ua_root_folder.d.ts +9 -0
  154. package/dist/source/ua_root_folder.js +3 -0
  155. package/dist/source/ua_root_folder.js.map +1 -0
  156. package/dist/source/ua_two_state_variable_ex.d.ts +23 -0
  157. package/dist/source/ua_two_state_variable_ex.js +3 -0
  158. package/dist/source/ua_two_state_variable_ex.js.map +1 -0
  159. package/dist/source/xml_writer.d.ts +9 -0
  160. package/dist/source/xml_writer.js +3 -0
  161. package/dist/source/xml_writer.js.map +1 -0
  162. package/dist/src/address_space.d.ts +393 -0
  163. package/dist/src/address_space.js +1375 -0
  164. package/dist/src/address_space.js.map +1 -0
  165. package/dist/src/address_space_change_event_tools.d.ts +6 -0
  166. package/dist/src/address_space_change_event_tools.js +150 -0
  167. package/dist/src/address_space_change_event_tools.js.map +1 -0
  168. package/dist/src/address_space_private.d.ts +44 -0
  169. package/dist/src/address_space_private.js +3 -0
  170. package/dist/src/address_space_private.js.map +1 -0
  171. package/dist/src/alarms_and_conditions/base_event_type.d.ts +26 -0
  172. package/dist/src/alarms_and_conditions/base_event_type.js +41 -0
  173. package/dist/src/alarms_and_conditions/base_event_type.js.map +1 -0
  174. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -0
  175. package/dist/src/alarms_and_conditions/check_where_clause.js +110 -0
  176. package/dist/src/alarms_and_conditions/check_where_clause.js.map +1 -0
  177. package/dist/src/alarms_and_conditions/condition.d.ts +5 -0
  178. package/dist/src/alarms_and_conditions/condition.js +81 -0
  179. package/dist/src/alarms_and_conditions/condition.js.map +1 -0
  180. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -0
  181. package/dist/src/alarms_and_conditions/condition_info.js +55 -0
  182. package/dist/src/alarms_and_conditions/condition_info.js.map +1 -0
  183. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +232 -0
  184. package/dist/src/alarms_and_conditions/condition_snapshot.js +667 -0
  185. package/dist/src/alarms_and_conditions/condition_snapshot.js.map +1 -0
  186. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -0
  187. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +47 -0
  188. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -0
  189. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -0
  190. package/dist/src/alarms_and_conditions/extract_event_fields.js +90 -0
  191. package/dist/src/alarms_and_conditions/extract_event_fields.js.map +1 -0
  192. package/dist/src/alarms_and_conditions/index.d.ts +18 -0
  193. package/dist/src/alarms_and_conditions/index.js +31 -0
  194. package/dist/src/alarms_and_conditions/index.js.map +1 -0
  195. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +22 -0
  196. package/dist/src/alarms_and_conditions/shelving_state_machine.js +241 -0
  197. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +1 -0
  198. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +16 -0
  199. package/dist/src/alarms_and_conditions/trip_alarm.js +21 -0
  200. package/dist/src/alarms_and_conditions/trip_alarm.js.map +1 -0
  201. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +54 -0
  202. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +255 -0
  203. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +1 -0
  204. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +62 -0
  205. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -0
  206. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -0
  207. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +138 -0
  208. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +460 -0
  209. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +1 -0
  210. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +118 -0
  211. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +417 -0
  212. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -0
  213. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -0
  214. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +39 -0
  215. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -0
  216. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +35 -0
  217. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +32 -0
  218. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +1 -0
  219. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +21 -0
  220. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +26 -0
  221. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -0
  222. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +191 -0
  223. package/dist/src/alarms_and_conditions/ua_condition_base.js +1029 -0
  224. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +1 -0
  225. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +182 -0
  226. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1021 -0
  227. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -0
  228. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +11 -0
  229. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +58 -0
  230. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +1 -0
  231. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +17 -0
  232. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +58 -0
  233. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -0
  234. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +24 -0
  235. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +59 -0
  236. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +1 -0
  237. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +27 -0
  238. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +57 -0
  239. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -0
  240. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +14 -0
  241. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +17 -0
  242. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +1 -0
  243. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +9 -0
  244. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +12 -0
  245. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -0
  246. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +22 -0
  247. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +87 -0
  248. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +1 -0
  249. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +38 -0
  250. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +87 -0
  251. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -0
  252. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +6 -0
  253. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +11 -0
  254. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +1 -0
  255. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -0
  256. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +8 -0
  257. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -0
  258. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +76 -0
  259. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +237 -0
  260. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +1 -0
  261. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +98 -0
  262. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +233 -0
  263. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -0
  264. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +27 -0
  265. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +62 -0
  266. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +1 -0
  267. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -0
  268. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +51 -0
  269. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -0
  270. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +49 -0
  271. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +176 -0
  272. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +1 -0
  273. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +25 -0
  274. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +163 -0
  275. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -0
  276. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +47 -0
  277. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +151 -0
  278. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +1 -0
  279. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +39 -0
  280. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +136 -0
  281. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -0
  282. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +16 -0
  283. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +18 -0
  284. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +1 -0
  285. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +16 -0
  286. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +18 -0
  287. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -0
  288. package/dist/src/apply_condition_refresh.d.ts +6 -0
  289. package/dist/src/apply_condition_refresh.js +28 -0
  290. package/dist/src/apply_condition_refresh.js.map +1 -0
  291. package/dist/src/base_node.d.ts +279 -0
  292. package/dist/src/base_node.js +1364 -0
  293. package/dist/src/base_node.js.map +1 -0
  294. package/dist/src/base_node_impl.d.ts +281 -0
  295. package/dist/src/base_node_impl.js +1394 -0
  296. package/dist/src/base_node_impl.js.map +1 -0
  297. package/dist/src/base_node_private.d.ts +61 -0
  298. package/dist/src/base_node_private.js +521 -0
  299. package/dist/src/base_node_private.js.map +1 -0
  300. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -0
  301. package/dist/src/data_access/add_dataItem_stuff.js +62 -0
  302. package/dist/src/data_access/add_dataItem_stuff.js.map +1 -0
  303. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -0
  304. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +35 -0
  305. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js.map +1 -0
  306. package/dist/src/data_access/ua_analog_item.d.ts +13 -0
  307. package/dist/src/data_access/ua_analog_item.js +37 -0
  308. package/dist/src/data_access/ua_analog_item.js.map +1 -0
  309. package/dist/src/data_access/ua_data_item.d.ts +16 -0
  310. package/dist/src/data_access/ua_data_item.js +66 -0
  311. package/dist/src/data_access/ua_data_item.js.map +1 -0
  312. package/dist/src/data_access/ua_multistate_discrete.d.ts +23 -0
  313. package/dist/src/data_access/ua_multistate_discrete.js +131 -0
  314. package/dist/src/data_access/ua_multistate_discrete.js.map +1 -0
  315. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -0
  316. package/dist/src/data_access/ua_multistate_discrete_impl.js +131 -0
  317. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -0
  318. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -0
  319. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -0
  320. package/dist/src/data_access/ua_multistate_value_discrete.js.map +1 -0
  321. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -0
  322. package/dist/src/data_access/ua_two_state_discrete.js +154 -0
  323. package/dist/src/data_access/ua_two_state_discrete.js.map +1 -0
  324. package/dist/src/event_data.d.ts +29 -0
  325. package/dist/src/event_data.js +96 -0
  326. package/dist/src/event_data.js.map +1 -0
  327. package/dist/src/extension_object_array_node.d.ts +61 -0
  328. package/dist/src/extension_object_array_node.js +266 -0
  329. package/dist/src/extension_object_array_node.js.map +1 -0
  330. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -0
  331. package/dist/src/historical_access/address_space_historical_data_node.js +662 -0
  332. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -0
  333. package/dist/src/index_current.d.ts +42 -0
  334. package/dist/src/index_current.js +71 -0
  335. package/dist/src/index_current.js.map +1 -0
  336. package/dist/src/namespace.d.ts +475 -0
  337. package/dist/src/namespace.js +1775 -0
  338. package/dist/src/namespace.js.map +1 -0
  339. package/dist/src/namespace_impl.d.ts +463 -0
  340. package/dist/src/namespace_impl.js +1763 -0
  341. package/dist/src/namespace_impl.js.map +1 -0
  342. package/dist/src/namespace_private.d.ts +21 -0
  343. package/dist/src/namespace_private.js +29 -0
  344. package/dist/src/namespace_private.js.map +1 -0
  345. package/dist/src/nodeid_manager.d.ts +36 -0
  346. package/dist/src/nodeid_manager.js +196 -0
  347. package/dist/src/nodeid_manager.js.map +1 -0
  348. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -0
  349. package/dist/src/nodeset_tools/adjust_namespace_array.js +14 -0
  350. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +1 -0
  351. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -0
  352. package/dist/src/nodeset_tools/construct_namespace_dependency.js +39 -0
  353. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +1 -0
  354. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -0
  355. package/dist/src/nodeset_tools/nodeset_to_xml.js +1155 -0
  356. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -0
  357. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -0
  358. package/dist/src/nodeset_tools/typedictionary_to_xml.js +147 -0
  359. package/dist/src/nodeset_tools/typedictionary_to_xml.js.map +1 -0
  360. package/dist/src/reference.d.ts +43 -0
  361. package/dist/src/reference.js +138 -0
  362. package/dist/src/reference.js.map +1 -0
  363. package/dist/src/reference_impl.d.ts +43 -0
  364. package/dist/src/reference_impl.js +138 -0
  365. package/dist/src/reference_impl.js.map +1 -0
  366. package/dist/src/role_permissions.d.ts +2 -0
  367. package/dist/src/role_permissions.js +11 -0
  368. package/dist/src/role_permissions.js.map +1 -0
  369. package/dist/src/session_context.d.ts +4 -0
  370. package/dist/src/session_context.js +9 -0
  371. package/dist/src/session_context.js.map +1 -0
  372. package/dist/src/state_machine/finite_state_machine.d.ts +67 -0
  373. package/dist/src/state_machine/finite_state_machine.js +354 -0
  374. package/dist/src/state_machine/finite_state_machine.js.map +1 -0
  375. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -0
  376. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +244 -0
  377. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -0
  378. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -0
  379. package/dist/src/state_machine/ua_two_state_variable.js +332 -0
  380. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -0
  381. package/dist/src/tool_isSupertypeOf.d.ts +17 -0
  382. package/dist/src/tool_isSupertypeOf.js +103 -0
  383. package/dist/src/tool_isSupertypeOf.js.map +1 -0
  384. package/dist/src/ua_condition_type.d.ts +8 -0
  385. package/dist/src/ua_condition_type.js +3 -0
  386. package/dist/src/ua_condition_type.js.map +1 -0
  387. package/dist/src/ua_data_type.d.ts +83 -0
  388. package/dist/src/ua_data_type.js +289 -0
  389. package/dist/src/ua_data_type.js.map +1 -0
  390. package/dist/src/ua_data_type_impl.d.ts +83 -0
  391. package/dist/src/ua_data_type_impl.js +291 -0
  392. package/dist/src/ua_data_type_impl.js.map +1 -0
  393. package/dist/src/ua_method.d.ts +42 -0
  394. package/dist/src/ua_method.js +204 -0
  395. package/dist/src/ua_method.js.map +1 -0
  396. package/dist/src/ua_method_impl.d.ts +40 -0
  397. package/dist/src/ua_method_impl.js +203 -0
  398. package/dist/src/ua_method_impl.js.map +1 -0
  399. package/dist/src/ua_object.d.ts +29 -0
  400. package/dist/src/ua_object.js +153 -0
  401. package/dist/src/ua_object.js.map +1 -0
  402. package/dist/src/ua_object_impl.d.ts +29 -0
  403. package/dist/src/ua_object_impl.js +156 -0
  404. package/dist/src/ua_object_impl.js.map +1 -0
  405. package/dist/src/ua_object_type.d.ts +49 -0
  406. package/dist/src/ua_object_type.js +124 -0
  407. package/dist/src/ua_object_type.js.map +1 -0
  408. package/dist/src/ua_object_type_impl.d.ts +48 -0
  409. package/dist/src/ua_object_type_impl.js +124 -0
  410. package/dist/src/ua_object_type_impl.js.map +1 -0
  411. package/dist/src/ua_reference_type.d.ts +42 -0
  412. package/dist/src/ua_reference_type.js +138 -0
  413. package/dist/src/ua_reference_type.js.map +1 -0
  414. package/dist/src/ua_reference_type_impl.d.ts +43 -0
  415. package/dist/src/ua_reference_type_impl.js +138 -0
  416. package/dist/src/ua_reference_type_impl.js.map +1 -0
  417. package/dist/src/ua_variable.d.ts +346 -0
  418. package/dist/src/ua_variable.js +1721 -0
  419. package/dist/src/ua_variable.js.map +1 -0
  420. package/dist/src/ua_variable_impl.d.ts +353 -0
  421. package/dist/src/ua_variable_impl.js +1719 -0
  422. package/dist/src/ua_variable_impl.js.map +1 -0
  423. package/dist/src/ua_variable_type.d.ts +54 -0
  424. package/dist/src/ua_variable_type.js +555 -0
  425. package/dist/src/ua_variable_type.js.map +1 -0
  426. package/dist/src/ua_variable_type_impl.d.ts +63 -0
  427. package/dist/src/ua_variable_type_impl.js +556 -0
  428. package/dist/src/ua_variable_type_impl.js.map +1 -0
  429. package/dist/src/ua_view.d.ts +16 -0
  430. package/dist/src/ua_view.js +42 -0
  431. package/dist/src/ua_view.js.map +1 -0
  432. package/dist/src/ua_view_impl.d.ts +15 -0
  433. package/dist/src/ua_view_impl.js +37 -0
  434. package/dist/src/ua_view_impl.js.map +1 -0
  435. package/distHelpers/add_event_generator_object.d.ts +3 -0
  436. package/distHelpers/add_event_generator_object.js +66 -0
  437. package/distHelpers/add_event_generator_object.js.map +1 -0
  438. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -0
  439. package/distHelpers/alarms_and_conditions_demo.js +115 -0
  440. package/distHelpers/alarms_and_conditions_demo.js.map +1 -0
  441. package/distHelpers/assertHasMatchingReference.d.ts +19 -0
  442. package/distHelpers/assertHasMatchingReference.js +41 -0
  443. package/distHelpers/assertHasMatchingReference.js.map +1 -0
  444. package/distHelpers/boiler_system.d.ts +113 -0
  445. package/distHelpers/boiler_system.js +397 -0
  446. package/distHelpers/boiler_system.js.map +1 -0
  447. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -0
  448. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -0
  449. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -0
  450. package/distHelpers/dump_statemachine.d.ts +6 -0
  451. package/distHelpers/dump_statemachine.js +116 -0
  452. package/distHelpers/dump_statemachine.js.map +1 -0
  453. package/distHelpers/get_address_space_fixture.d.ts +1 -0
  454. package/distHelpers/get_address_space_fixture.js +31 -0
  455. package/distHelpers/get_address_space_fixture.js.map +1 -0
  456. package/distHelpers/get_mini_address_space.d.ts +7 -0
  457. package/distHelpers/get_mini_address_space.js +37 -0
  458. package/distHelpers/get_mini_address_space.js.map +1 -0
  459. package/distHelpers/index.d.ts +11 -0
  460. package/distHelpers/index.js +24 -0
  461. package/distHelpers/index.js.map +1 -0
  462. package/distNodeJS/generate_address_space.d.ts +4 -0
  463. package/distNodeJS/generate_address_space.js +31 -0
  464. package/distNodeJS/generate_address_space.js.map +1 -0
  465. package/distNodeJS/index.d.ts +1 -0
  466. package/distNodeJS/index.js +14 -0
  467. package/distNodeJS/index.js.map +1 -0
  468. package/generate.js +1 -0
  469. package/nodeJS.d.ts +1 -0
  470. package/nodeJS.js +1 -0
  471. package/package.json +87 -0
  472. package/source/address_space_ts.ts +217 -0
  473. package/source/continuation_points/continuation_point_manager.ts +121 -0
  474. package/source/helpers/adjust_browse_direction.ts +15 -0
  475. package/source/helpers/argument_list.ts +286 -0
  476. package/source/helpers/call_helpers.ts +112 -0
  477. package/source/helpers/check_event_clause.ts +62 -0
  478. package/source/helpers/coerce_enum_value.ts +33 -0
  479. package/source/helpers/dump_tools.ts +92 -0
  480. package/source/helpers/ensure_secure_access.ts +88 -0
  481. package/source/helpers/make_optionals_map.ts +49 -0
  482. package/source/helpers/resolve_opaque_on_address_space.ts +23 -0
  483. package/source/index.ts +49 -0
  484. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +13 -0
  485. package/source/interfaces/data_access/ua_multistate_discrete_ex.ts +26 -0
  486. package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +34 -0
  487. package/source/interfaces/data_access/ua_two_state_discrete_ex.ts +14 -0
  488. package/source/interfaces/data_access/ua_y_array_item_ex.ts +10 -0
  489. package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +14 -0
  490. package/source/interfaces/state_machine/ua_finite_state_machine_type.ts +50 -0
  491. package/source/interfaces/state_machine/ua_program_state_machine_type.ts +13 -0
  492. package/source/interfaces/state_machine/ua_state_machine_type.ts +261 -0
  493. package/source/interfaces/state_machine/ua_transition_ex.ts +7 -0
  494. package/source/interfaces/ua_subscription_diagnostics_variable_ex.ts +8 -0
  495. package/source/loader/generateAddressSpaceRaw.ts +79 -0
  496. package/source/loader/load_nodeset2.ts +1600 -0
  497. package/source/loader/namespace_post_step.ts +36 -0
  498. package/source/loader/register_node_promoter.ts +8 -0
  499. package/source/namespace.ts +9 -0
  500. package/source/namespace_alarm_and_condition.ts +47 -0
  501. package/source/namespace_data_access.ts +60 -0
  502. package/source/namespace_machine_state.ts +13 -0
  503. package/source/pseudo_session.ts +288 -0
  504. package/source/session_context.ts +345 -0
  505. package/source/set_namespace_meta_data.ts +68 -0
  506. package/source/ua_root_folder.ts +10 -0
  507. package/source/ua_two_state_variable_ex.ts +35 -0
  508. package/source/xml_writer.ts +15 -0
  509. package/source_nodejs/generate_address_space.ts +36 -0
  510. package/source_nodejs/index.ts +1 -0
  511. package/src/address_space.ts +1575 -0
  512. package/src/address_space_change_event_tools.ts +177 -0
  513. package/src/address_space_private.ts +98 -0
  514. package/src/alarms_and_conditions/check_where_clause.ts +148 -0
  515. package/src/alarms_and_conditions/condition.ts +89 -0
  516. package/src/alarms_and_conditions/condition_info.ts +66 -0
  517. package/src/alarms_and_conditions/condition_snapshot.ts +766 -0
  518. package/src/alarms_and_conditions/deviation_alarm_helper.ts +66 -0
  519. package/src/alarms_and_conditions/extract_event_fields.ts +104 -0
  520. package/src/alarms_and_conditions/index.ts +18 -0
  521. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +339 -0
  522. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +513 -0
  523. package/src/alarms_and_conditions/ua_base_event_impl.ts +55 -0
  524. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +50 -0
  525. package/src/alarms_and_conditions/ua_condition_impl.ts +1298 -0
  526. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +81 -0
  527. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +110 -0
  528. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +19 -0
  529. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +130 -0
  530. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +24 -0
  531. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +305 -0
  532. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +108 -0
  533. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +224 -0
  534. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +186 -0
  535. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +27 -0
  536. package/src/apply_condition_refresh.ts +30 -0
  537. package/src/base_node_impl.ts +1749 -0
  538. package/src/base_node_private.ts +690 -0
  539. package/src/data_access/add_dataItem_stuff.ts +75 -0
  540. package/src/data_access/check_variant_compatibility_ua_analog_item.ts +41 -0
  541. package/src/data_access/ua_multistate_discrete_impl.ts +168 -0
  542. package/src/data_access/ua_multistate_value_discrete.ts +299 -0
  543. package/src/data_access/ua_two_state_discrete.ts +185 -0
  544. package/src/event_data.ts +117 -0
  545. package/src/extension_object_array_node.ts +325 -0
  546. package/src/historical_access/address_space_historical_data_node.ts +828 -0
  547. package/src/index_current.ts +52 -0
  548. package/src/namespace_impl.ts +2181 -0
  549. package/src/namespace_private.ts +60 -0
  550. package/src/nodeid_manager.ts +228 -0
  551. package/src/nodeset_tools/adjust_namespace_array.ts +11 -0
  552. package/src/nodeset_tools/construct_namespace_dependency.ts +40 -0
  553. package/src/nodeset_tools/nodeset_to_xml.ts +1317 -0
  554. package/src/nodeset_tools/typedictionary_to_xml.ts +175 -0
  555. package/src/reference_impl.ts +169 -0
  556. package/src/role_permissions.ts +6 -0
  557. package/src/state_machine/finite_state_machine.ts +428 -0
  558. package/src/state_machine/ua_shelving_state_machine_ex.ts +314 -0
  559. package/src/state_machine/ua_two_state_variable.ts +421 -0
  560. package/src/tool_isSupertypeOf.ts +129 -0
  561. package/src/ua_condition_type.ts +10 -0
  562. package/src/ua_data_type_impl.ts +356 -0
  563. package/src/ua_method_impl.ts +278 -0
  564. package/src/ua_object_impl.ts +203 -0
  565. package/src/ua_object_type_impl.ts +158 -0
  566. package/src/ua_reference_type_impl.ts +174 -0
  567. package/src/ua_variable_impl.ts +2277 -0
  568. package/src/ua_variable_type_impl.ts +741 -0
  569. package/src/ua_view_impl.ts +54 -0
  570. package/testHelpers.d.ts +1 -0
  571. package/testHelpers.js +1 -0
  572. package/test_helpers/add_event_generator_object.ts +71 -0
  573. package/test_helpers/alarms_and_conditions_demo.ts +147 -0
  574. package/test_helpers/assertHasMatchingReference.ts +43 -0
  575. package/test_helpers/boiler_system.ts +618 -0
  576. package/test_helpers/create_minimalist_address_space_nodeset.ts +208 -0
  577. package/test_helpers/dump_statemachine.ts +155 -0
  578. package/test_helpers/get_address_space_fixture.ts +30 -0
  579. package/test_helpers/get_mini_address_space.ts +42 -0
  580. package/test_helpers/index.ts +11 -0
  581. package/test_helpers/test_fixtures/dataType_in_separateNamespace.xml +150 -0
  582. package/test_helpers/test_fixtures/dataType_in_separateNamespace_basic.xml +57 -0
  583. package/test_helpers/test_fixtures/dataType_in_separateNamespace_mix.xml +136 -0
  584. package/test_helpers/test_fixtures/dataType_withEnumeration.xml +82 -0
  585. package/test_helpers/test_fixtures/dataType_with_isOptionSet.xml +194 -0
  586. package/test_helpers/test_fixtures/dataType_with_structures.xml +605 -0
  587. package/test_helpers/test_fixtures/dataType_with_union.xml +1 -0
  588. package/test_helpers/test_fixtures/datatype_as_per_1.04.xml +91 -0
  589. package/test_helpers/test_fixtures/fixture_empty_nodeset2.xml +106 -0
  590. package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +1303 -0
  591. package/test_helpers/test_fixtures/fixuture_nodeset_objects_with_some_methods.xml +362 -0
  592. package/test_helpers/test_fixtures/issue_846.xml +3172 -0
  593. package/test_helpers/test_fixtures/issue_899_variable_with_nodeid_value.xml +33 -0
  594. package/test_helpers/test_fixtures/mini.Node.Set2.xml +4508 -0
  595. package/test_helpers/test_fixtures/mini.nodeset.withVariousVariables.xml +194 -0
  596. package/test_helpers/test_fixtures/minimalist_nodeset_with_models.xml +8 -0
  597. package/test_helpers/test_fixtures/minimalist_nodeset_with_models_more_complex.xml +16 -0
  598. package/test_helpers/test_fixtures/nodeset_with_analog_items.xml +45 -0
@@ -0,0 +1,138 @@
1
+ import { DataValue } from "node-opcua-data-value";
2
+ import { NodeId } from "node-opcua-nodeid";
3
+ import { DataType } from "node-opcua-variant";
4
+ import { Namespace, UAEventType, UAVariableT } from "../../source";
5
+ import { BaseNode } from "../base_node";
6
+ import { UATwoStateVariable } from "../state_machine/ua_two_state_variable";
7
+ import { UAVariable } from "../ua_variable";
8
+ import { ConditionInfo } from "./condition_info";
9
+ import { ShelvingStateMachine } from "./shelving_state_machine";
10
+ import { UAAcknowledgeableConditionBase } from "./ua_acknowledgeable_condition_base";
11
+ export interface UAAlarmConditionBase {
12
+ activeState: UATwoStateVariable;
13
+ shelvingState: ShelvingStateMachine;
14
+ suppressedState: UATwoStateVariable;
15
+ suppressedOrShelved: UAVariable;
16
+ maxTimeShelved: UAVariable;
17
+ inputNode: UAVariableT<NodeId, DataType.NodeId>;
18
+ }
19
+ /**
20
+ * @class UAAlarmConditionBase
21
+ * @constructor
22
+ * @extends UAAcknowledgeableConditionBase
23
+ */
24
+ export declare class UAAlarmConditionBase extends UAAcknowledgeableConditionBase {
25
+ /**
26
+ * @class UAAlarmConditionBase
27
+ * @static
28
+ * @property MaxDuration
29
+ * @type {Duration}
30
+ */
31
+ static MaxDuration: number;
32
+ /**
33
+ * @method (static)UAAlarmConditionBase.instantiate
34
+ * @param namespace {Namespace}
35
+ * @param alarmConditionTypeId
36
+ * @param options
37
+ * @param options.inputNode
38
+ * @param options.optionals could be "SuppressedState" , "ShelvingState"
39
+ * @param options.maxTimeShelved max TimeShelved duration (in ms)
40
+ * @param data
41
+ */
42
+ static instantiate(namespace: Namespace, alarmConditionTypeId: UAEventType | string | NodeId, options: any, data: any): UAAlarmConditionBase;
43
+ dispose(): void;
44
+ /**
45
+ * @method activateAlarm
46
+ */
47
+ activateAlarm(): void;
48
+ /**
49
+ * @method deactivateAlarm
50
+ */
51
+ deactivateAlarm(): void;
52
+ /**
53
+ * @deprecated use deactivateAlarm instead
54
+ */
55
+ desactivateAlarm(): void;
56
+ /**
57
+ * @method isSuppressedOrShelved
58
+ * @return {boolean}
59
+ */
60
+ isSuppressedOrShelved(): boolean;
61
+ /**
62
+ * @method getSuppressedOrShelved
63
+ * @return {Boolean}
64
+ */
65
+ getSuppressedOrShelved(): boolean;
66
+ /**
67
+ * @method setMaxTimeShelved
68
+ * @param duration ( Duration in Milliseconds)
69
+ *
70
+ * note: duration must be greater than 10ms and lesser than 2**31 ms
71
+ */
72
+ setMaxTimeShelved(duration: number): void;
73
+ /**
74
+ * @method getMaxTimeShelved
75
+ * @return {Duration}
76
+ */
77
+ getMaxTimeShelved(): number;
78
+ /**
79
+ * @method getInputNodeNode
80
+ * @return {BaseNode} return the node in the address space pointed by the inputNode value
81
+ *
82
+ * Note: please note the difference between alarm.inputNode
83
+ * * alarm.inputNode is a UAVariable property of the alarm object holding the nodeid of the input
84
+ * node in its value.
85
+ * * getInputNodeNode() is the UAVariable that contains the value that affects the state of the alarm and
86
+ * whose node id is stored in alarm.inputNode
87
+ */
88
+ getInputNodeNode(): UAVariable | null;
89
+ /**
90
+ * @method getInputNodeValue
91
+ * @return {*}
92
+ */
93
+ getInputNodeValue(): any | null;
94
+ updateState(): void;
95
+ _onInputDataValueChange(newValue: DataValue): void;
96
+ /**
97
+ * @method _installInputNodeMonitoring
98
+ * install mechanism that listen to input node datavalue changes so that alarm status
99
+ * can be automatically updated appropriatly.
100
+ * @param inputNode {BaseNode}
101
+ * @return {void}
102
+ * @protected
103
+ */
104
+ _installInputNodeMonitoring(inputNode: BaseNode | NodeId): void;
105
+ getCurrentConditionInfo(): ConditionInfo;
106
+ /***
107
+ * @method _calculateConditionInfo
108
+ * @param stateData {Object} the new calculated state of the alarm
109
+ * @param isActive {Boolean}
110
+ * @param value {Number} the new value of the limit alarm
111
+ * @param oldCondition {ConditionInfo} given for information purpose
112
+ * @param oldCondition.severity
113
+ * @param oldCondition.quality
114
+ * @param oldCondition.message
115
+ * @param oldCondition.retain
116
+ * @return {ConditionInfo} the new condition info
117
+ *
118
+ * this method need to be overridden by the instantiate to allow custom message and severity
119
+ * to be set based on specific context of the alarm.
120
+ *
121
+ * @example
122
+ *
123
+ *
124
+ * var myAlarm = addressSpace.instantiateExclusiveLimitAlarm({...});
125
+ * myAlarm._calculateConditionInfo = function(stateName,value,oldCondition) {
126
+ * var percent = Math.ceil(value * 100);
127
+ * return new ConditionInfo({
128
+ * message: "Tank is almost " + percent + "% full",
129
+ * severity: 100,
130
+ * quality: StatusCodes.Good
131
+ * });
132
+ * };
133
+ *
134
+ */
135
+ _calculateConditionInfo(stateData: string | null, isActive: boolean, value: string, oldCondition: ConditionInfo): ConditionInfo;
136
+ _signalInitialCondition(): void;
137
+ _signalNewCondition(stateName: string | null, isActive?: boolean, value?: string): void;
138
+ }
@@ -0,0 +1,460 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UAAlarmConditionBase = void 0;
4
+ /**
5
+ * @module node-opcua-address-space.AlarmsAndConditions
6
+ */
7
+ const lodash_1 = require("lodash");
8
+ const node_opcua_assert_1 = require("node-opcua-assert");
9
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
10
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
11
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
12
+ const node_opcua_variant_1 = require("node-opcua-variant");
13
+ const ua_two_state_variable_1 = require("../state_machine/ua_two_state_variable");
14
+ const condition_info_1 = require("./condition_info");
15
+ const shelving_state_machine_1 = require("./shelving_state_machine");
16
+ const ua_acknowledgeable_condition_base_1 = require("./ua_acknowledgeable_condition_base");
17
+ function _update_suppressedOrShelved(alarmNode) {
18
+ alarmNode.suppressedOrShelved.setValueFromSource({
19
+ dataType: node_opcua_variant_1.DataType.Boolean,
20
+ value: alarmNode.isSuppressedOrShelved()
21
+ });
22
+ }
23
+ /**
24
+ * @class UAAlarmConditionBase
25
+ * @constructor
26
+ * @extends UAAcknowledgeableConditionBase
27
+ */
28
+ class UAAlarmConditionBase extends ua_acknowledgeable_condition_base_1.UAAcknowledgeableConditionBase {
29
+ /**
30
+ * @method (static)UAAlarmConditionBase.instantiate
31
+ * @param namespace {Namespace}
32
+ * @param alarmConditionTypeId
33
+ * @param options
34
+ * @param options.inputNode
35
+ * @param options.optionals could be "SuppressedState" , "ShelvingState"
36
+ * @param options.maxTimeShelved max TimeShelved duration (in ms)
37
+ * @param data
38
+ */
39
+ static instantiate(namespace, alarmConditionTypeId, options, data) {
40
+ const addressSpace = namespace.addressSpace;
41
+ // xx assert(options.hasOwnProperty("conditionOf")); // must provide a conditionOf
42
+ (0, node_opcua_assert_1.assert)(options.hasOwnProperty("inputNode")); // must provide a inputNode
43
+ const alarmConditionType = addressSpace.findEventType(alarmConditionTypeId);
44
+ /* istanbul ignore next */
45
+ if (!alarmConditionType) {
46
+ throw new Error(" cannot find Alarm Condition Type for " + alarmConditionTypeId);
47
+ }
48
+ const alarmConditionTypeBase = addressSpace.findEventType("AlarmConditionType");
49
+ /* istanbul ignore next */
50
+ if (!alarmConditionTypeBase) {
51
+ throw new Error("cannot find AlarmConditionType");
52
+ }
53
+ options.optionals = options.optionals || [];
54
+ if (options.hasOwnProperty("maxTimeShelved")) {
55
+ options.optionals.push("MaxTimeShelved");
56
+ (0, node_opcua_assert_1.assert)(isFinite(options.maxTimeShelved));
57
+ }
58
+ (0, node_opcua_assert_1.assert)(alarmConditionTypeBase === alarmConditionType || alarmConditionType.isSupertypeOf(alarmConditionTypeBase));
59
+ const alarmNode = ua_acknowledgeable_condition_base_1.UAAcknowledgeableConditionBase.instantiate(namespace, alarmConditionTypeId, options, data);
60
+ Object.setPrototypeOf(alarmNode, UAAlarmConditionBase.prototype);
61
+ // ----------------------- Install Alarm specifics
62
+ //
63
+ // Specs 1.03:
64
+ // ActiveState/Id when set to TRUE indicates that the situation the Condition is representing
65
+ // currently exists. When a Condition instance is in the inactive state (ActiveState/Id when set to
66
+ // FALSE) it is representing a situation that has returned to a normal state. The transitions of
67
+ // Conditions to the inactive and Active states are triggered by Server specific actions. Sub-
68
+ // Types of the AlarmConditionType specified later in this document will have sub-state models
69
+ // that further define the Active state. Recommended state names are described in Annex A.
70
+ // install activeState - Mandatory
71
+ /**
72
+ * @property activeState
73
+ * @type {UATwoStateVariable}
74
+ */
75
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarmNode.activeState, {
76
+ falseState: "Inactive",
77
+ trueState: "Active"
78
+ });
79
+ alarmNode.currentBranch().setActiveState(false);
80
+ // Specs 1.03:
81
+ /**
82
+ *
83
+ * SuppressState is used internally by a Server to automatically suppress Alarms due to system
84
+ * specific reasons. For example a system may be configured to suppress Alarms that are
85
+ * associated with machinery that is shutdown, such as a low level Alarm for a tank that is
86
+ * currently not in use.
87
+ *
88
+ * @property suppressedState
89
+ * @type UATwoStateVariable
90
+ */
91
+ if (alarmNode.suppressedState) {
92
+ // install activeState - Optional
93
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarmNode.suppressedState, {
94
+ falseState: "Unsuppressed",
95
+ trueState: "Suppressed"
96
+ });
97
+ }
98
+ // Specs 1.03:
99
+ /**
100
+ * ShelvingState suggests whether an Alarm shall (temporarily) be prevented from being
101
+ * displayed to the user. It is quite often used to block nuisance Alarms.
102
+ *
103
+ * @property shelvingState
104
+ * @type ShelvingStateMachine
105
+ */
106
+ if (alarmNode.shelvingState) {
107
+ shelving_state_machine_1.ShelvingStateMachine.promote(alarmNode.shelvingState);
108
+ }
109
+ // SuppressedOrShelved : Mandatory
110
+ // install suppressedOrShelved automatic detection
111
+ /**
112
+ * The SuppressedState and the ShelvingState together result in the SuppressedOrShelved status of the
113
+ * Condition. When an Alarm is in one of the states, the SuppressedOrShelved property will be set TRUE
114
+ * and this Alarm is then typically not displayed by the Client. State transitions associated with the
115
+ * Alarm do occur, but they are not typically displayed by the Clients as long as the Alarm remains in
116
+ * either the Suppressed or Shelved state.
117
+ * The dataType is Boolean.
118
+ * @property suppressedState
119
+ * @type UAVariable
120
+ *
121
+ */
122
+ if (alarmNode.suppressedState) {
123
+ alarmNode.suppressedState.on("value_changed", (newDataValue) => {
124
+ _update_suppressedOrShelved(alarmNode);
125
+ });
126
+ }
127
+ if (alarmNode.shelvingState) {
128
+ alarmNode.shelvingState.currentState.on("value_changed", (newDataValue) => {
129
+ _update_suppressedOrShelved(alarmNode);
130
+ });
131
+ }
132
+ _update_suppressedOrShelved(alarmNode);
133
+ /**
134
+ * The optional Property MaxTimeShelved is used to set the maximum time that an Alarm Condition may be shelved.
135
+ * The value is expressed as duration. Systems can use this Property to prevent permanent Shelving of an Alarm.
136
+ * If this Property is present it will be an upper limit on the duration passed into a TimedShelve Method call.
137
+ * If a value that exceeds the value of this property is passed to the TimedShelve Method,
138
+ * than a BadShelvingTimeOutOfRange error code is returned on the call. If this Property is present it will
139
+ * also be enforced for the OneShotShelved state, in that an Alarm Condition will transition to the Unshelved
140
+ * state from the OneShotShelved state if the duration specified in this Property expires following a
141
+ * OneShotShelve operation without a change of any of the other items associated with the Condition.
142
+ *
143
+ * @property maxTimeShelved
144
+ * @type {UAVariable}
145
+ */
146
+ if (alarmNode.maxTimeShelved) {
147
+ options.maxTimeShelved = options.maxTimeShelved || 60.0 * 1000; // 60 seconds
148
+ alarmNode.maxTimeShelved.setValueFromSource({
149
+ dataType: "Duration",
150
+ value: options.maxTimeShelved
151
+ });
152
+ }
153
+ // ---------- install inputNode
154
+ (0, node_opcua_assert_1.assert)(options.inputNode, " must provide options.inputNode (NodeId or BaseNode object)");
155
+ alarmNode._installInputNodeMonitoring(options.inputNode);
156
+ (0, node_opcua_assert_1.assert)(alarmNode instanceof ua_acknowledgeable_condition_base_1.UAAcknowledgeableConditionBase);
157
+ (0, node_opcua_assert_1.assert)(alarmNode instanceof UAAlarmConditionBase);
158
+ return alarmNode;
159
+ }
160
+ dispose() {
161
+ if (this.shelvingState) {
162
+ (0, shelving_state_machine_1._clear_timer_if_any)(this.shelvingState);
163
+ }
164
+ super.dispose();
165
+ }
166
+ /**
167
+ * @method activateAlarm
168
+ */
169
+ activateAlarm() {
170
+ // will set acknowledgeable to false and retain to true
171
+ const branch = this.currentBranch();
172
+ branch.setRetain(true);
173
+ branch.setActiveState(true);
174
+ branch.setAckedState(false);
175
+ }
176
+ /**
177
+ * @method deactivateAlarm
178
+ */
179
+ deactivateAlarm() {
180
+ const branch = this.currentBranch();
181
+ branch.setRetain(true);
182
+ branch.setActiveState(false);
183
+ }
184
+ /**
185
+ * @deprecated use deactivateAlarm instead
186
+ */
187
+ desactivateAlarm() {
188
+ this.deactivateAlarm();
189
+ }
190
+ /**
191
+ * @method isSuppressedOrShelved
192
+ * @return {boolean}
193
+ */
194
+ isSuppressedOrShelved() {
195
+ let suppressed = false;
196
+ if (this.suppressedState) {
197
+ suppressed = this.suppressedState.id.readValue().value.value;
198
+ }
199
+ let shelved = false;
200
+ if (this.shelvingState) {
201
+ const shelvedValue = this.shelvingState.currentState.readValue().value.value;
202
+ if (shelvedValue && shelvedValue.text !== "Unshelved") {
203
+ shelved = true;
204
+ }
205
+ // console.log("shelved = shelved",shelvedValue,shelved);
206
+ }
207
+ // xx console.log(" isSuppressedOrShelved ",suppressed,shelved);
208
+ return suppressed || shelved;
209
+ }
210
+ /**
211
+ * @method getSuppressedOrShelved
212
+ * @return {Boolean}
213
+ */
214
+ getSuppressedOrShelved() {
215
+ const node = this;
216
+ return node.suppressedOrShelved.readValue().value.value;
217
+ }
218
+ /**
219
+ * @method setMaxTimeShelved
220
+ * @param duration ( Duration in Milliseconds)
221
+ *
222
+ * note: duration must be greater than 10ms and lesser than 2**31 ms
223
+ */
224
+ setMaxTimeShelved(duration) {
225
+ if (duration < 10 || duration >= Math.pow(2, 31)) {
226
+ throw new Error(" Invalid maxTimeShelved duration: " + duration + " must be [10,2**31] ");
227
+ }
228
+ this.maxTimeShelved.setValueFromSource({
229
+ dataType: "Duration",
230
+ value: duration
231
+ });
232
+ }
233
+ /**
234
+ * @method getMaxTimeShelved
235
+ * @return {Duration}
236
+ */
237
+ getMaxTimeShelved() {
238
+ const node = this;
239
+ if (!node.maxTimeShelved) {
240
+ // if maxTimeShelved is not provided we assume MaxDuration
241
+ (0, node_opcua_assert_1.assert)(UAAlarmConditionBase.MaxDuration <= 2147483648, "MaxDuration cannot be greater than 2**31");
242
+ return UAAlarmConditionBase.MaxDuration;
243
+ }
244
+ const dataValue = node.maxTimeShelved.readValue();
245
+ (0, node_opcua_assert_1.assert)(dataValue.value.dataType === node_opcua_variant_1.DataType.Double); // Double <= Duration
246
+ return dataValue.value.value;
247
+ }
248
+ /**
249
+ * @method getInputNodeNode
250
+ * @return {BaseNode} return the node in the address space pointed by the inputNode value
251
+ *
252
+ * Note: please note the difference between alarm.inputNode
253
+ * * alarm.inputNode is a UAVariable property of the alarm object holding the nodeid of the input
254
+ * node in its value.
255
+ * * getInputNodeNode() is the UAVariable that contains the value that affects the state of the alarm and
256
+ * whose node id is stored in alarm.inputNode
257
+ */
258
+ getInputNodeNode() {
259
+ const nodeId = this.inputNode.readValue().value.value;
260
+ (0, node_opcua_assert_1.assert)(nodeId instanceof node_opcua_nodeid_1.NodeId || nodeId === null);
261
+ return this.addressSpace.findNode(nodeId);
262
+ }
263
+ /**
264
+ * @method getInputNodeValue
265
+ * @return {*}
266
+ */
267
+ getInputNodeValue() {
268
+ const node = this.getInputNodeNode();
269
+ if (!node) {
270
+ return null;
271
+ }
272
+ (0, node_opcua_assert_1.assert)(node.nodeClass === node_opcua_data_model_1.NodeClass.Variable);
273
+ return node.readValue().value.value;
274
+ }
275
+ updateState() {
276
+ const node = this.getInputNodeNode();
277
+ const dataValue = node.readValue();
278
+ this._onInputDataValueChange(dataValue);
279
+ }
280
+ _onInputDataValueChange(newValue) {
281
+ // xx console.log("class=",this.constructor.name,this.browseName.toString());
282
+ // xx throw new Error("_onInputDataValueChange must be overridden");
283
+ }
284
+ /**
285
+ * @method _installInputNodeMonitoring
286
+ * install mechanism that listen to input node datavalue changes so that alarm status
287
+ * can be automatically updated appropriatly.
288
+ * @param inputNode {BaseNode}
289
+ * @return {void}
290
+ * @protected
291
+ */
292
+ _installInputNodeMonitoring(inputNode) {
293
+ const alarm = this;
294
+ /**
295
+ *
296
+ * The InputNode Property provides the NodeId of the Variable the Value of which is used as
297
+ * primary input in the calculation of the Alarm state. If this Variable is not in the IAddressSpace,
298
+ * a Null NodeId shall be provided. In some systems, an Alarm may be calculated based on
299
+ * multiple Variables Values; it is up to the system to determine which Variable’s NodeId is used.
300
+ * dataType is DataType.NodeId
301
+ * @property inputNode
302
+ * @type UAVariable
303
+ */
304
+ (0, node_opcua_assert_1.assert)(alarm.inputNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable);
305
+ const addressSpace = this.addressSpace;
306
+ (0, node_opcua_assert_1.assert)(inputNode, " must provide options.inputNode (NodeId or BaseNode object)");
307
+ if (inputNode instanceof node_opcua_nodeid_1.NodeId) {
308
+ alarm.inputNode.setValueFromSource({
309
+ dataType: node_opcua_variant_1.DataType.NodeId,
310
+ value: inputNode
311
+ });
312
+ }
313
+ else {
314
+ alarm.inputNode.setValueFromSource({
315
+ dataType: "NodeId",
316
+ value: inputNode.nodeId
317
+ });
318
+ const _node = addressSpace._coerceNode(inputNode);
319
+ if (_node === null) {
320
+ // tslint:disable-next-line:no-console
321
+ console.log(" cannot find nodeId ", inputNode);
322
+ }
323
+ else {
324
+ (0, node_opcua_assert_1.assert)(_node, "Expecting a valid input node");
325
+ alarm.inputNode.setValueFromSource({
326
+ dataType: node_opcua_variant_1.DataType.NodeId,
327
+ value: _node.nodeId
328
+ });
329
+ }
330
+ const inputNode2 = alarm.getInputNodeNode();
331
+ if (!inputNode2 || inputNode2 === null) {
332
+ throw new Error("Invalid input node");
333
+ }
334
+ inputNode2.on("value_changed", (newDataValue /*, oldDataValue */) => {
335
+ if (!alarm.getEnabledState()) {
336
+ // disabled alarms shall ignored input node value change event
337
+ // (alarm shall be reevaluated when EnabledState goes back to true)
338
+ return;
339
+ }
340
+ alarm._onInputDataValueChange(newDataValue);
341
+ });
342
+ }
343
+ }
344
+ getCurrentConditionInfo() {
345
+ const alarm = this;
346
+ const oldSeverity = alarm.currentBranch().getSeverity();
347
+ const oldQuality = alarm.currentBranch().getQuality();
348
+ const oldMessage = alarm.currentBranch().getMessage();
349
+ const oldRetain = alarm.currentBranch().getRetain();
350
+ const oldConditionInfo = new condition_info_1.ConditionInfo({
351
+ message: oldMessage,
352
+ quality: oldQuality,
353
+ retain: oldRetain,
354
+ severity: oldSeverity
355
+ });
356
+ return oldConditionInfo;
357
+ }
358
+ /***
359
+ * @method _calculateConditionInfo
360
+ * @param stateData {Object} the new calculated state of the alarm
361
+ * @param isActive {Boolean}
362
+ * @param value {Number} the new value of the limit alarm
363
+ * @param oldCondition {ConditionInfo} given for information purpose
364
+ * @param oldCondition.severity
365
+ * @param oldCondition.quality
366
+ * @param oldCondition.message
367
+ * @param oldCondition.retain
368
+ * @return {ConditionInfo} the new condition info
369
+ *
370
+ * this method need to be overridden by the instantiate to allow custom message and severity
371
+ * to be set based on specific context of the alarm.
372
+ *
373
+ * @example
374
+ *
375
+ *
376
+ * var myAlarm = addressSpace.instantiateExclusiveLimitAlarm({...});
377
+ * myAlarm._calculateConditionInfo = function(stateName,value,oldCondition) {
378
+ * var percent = Math.ceil(value * 100);
379
+ * return new ConditionInfo({
380
+ * message: "Tank is almost " + percent + "% full",
381
+ * severity: 100,
382
+ * quality: StatusCodes.Good
383
+ * });
384
+ * };
385
+ *
386
+ */
387
+ _calculateConditionInfo(stateData, isActive, value, oldCondition) {
388
+ if (!stateData) {
389
+ return new condition_info_1.ConditionInfo({
390
+ message: "Back to normal",
391
+ quality: node_opcua_status_code_1.StatusCodes.Good,
392
+ retain: true,
393
+ severity: 0
394
+ });
395
+ }
396
+ else {
397
+ return new condition_info_1.ConditionInfo({
398
+ message: "Condition value is " + value + " and state is " + stateData,
399
+ quality: node_opcua_status_code_1.StatusCodes.Good,
400
+ retain: true,
401
+ severity: 150
402
+ });
403
+ }
404
+ }
405
+ _signalInitialCondition() {
406
+ const alarm = this;
407
+ alarm.currentBranch().setActiveState(false);
408
+ alarm.currentBranch().setAckedState(true);
409
+ }
410
+ _signalNewCondition(stateName, isActive, value) {
411
+ const alarm = this;
412
+ // xx if(stateName === null) {
413
+ // xx alarm.currentBranch().setActiveState(false);
414
+ // xx alarm.currentBranch().setAckedState(true);
415
+ // xx return;
416
+ // xx }
417
+ // disabled alarm shall not generate new condition events
418
+ (0, node_opcua_assert_1.assert)(alarm.getEnabledState() === true);
419
+ // xx assert(isActive !== alarm.activeState.getValue());
420
+ const oldConditionInfo = alarm.getCurrentConditionInfo();
421
+ const newConditionInfo = alarm._calculateConditionInfo(stateName, !!isActive, value, oldConditionInfo);
422
+ // detect potential internal bugs due to misused of _signalNewCondition
423
+ if ((0, lodash_1.isEqual)(oldConditionInfo, newConditionInfo)) {
424
+ // tslint:disable-next-line:no-console
425
+ console.log(oldConditionInfo);
426
+ throw new Error("condition values have not change, shall we really raise an event ? alarm " + alarm.browseName.toString());
427
+ }
428
+ (0, node_opcua_assert_1.assert)(!(0, lodash_1.isEqual)(oldConditionInfo, newConditionInfo), "condition values have not change, shall we really raise an event ?");
429
+ if (isActive) {
430
+ alarm.currentBranch().setActiveState(true);
431
+ alarm.currentBranch().setAckedState(false);
432
+ alarm.raiseNewCondition(newConditionInfo);
433
+ }
434
+ else {
435
+ if (alarm.currentBranch().getAckedState() === false) {
436
+ // prior state need acknowledgement
437
+ // note : TODO : timestamp of branch and new state of current branch must be identical
438
+ if (alarm.currentBranch().getRetain()) {
439
+ // we need to create a new branch so the previous state could be acknowledged
440
+ const newBranch = alarm.createBranch();
441
+ (0, node_opcua_assert_1.assert)(newBranch.getBranchId() !== node_opcua_nodeid_1.NodeId.nullNodeId);
442
+ // also raised a new Event for the new branch as branchId has changed
443
+ alarm.raiseNewBranchState(newBranch);
444
+ }
445
+ }
446
+ alarm.currentBranch().setActiveState(false);
447
+ alarm.currentBranch().setAckedState(true);
448
+ alarm.raiseNewCondition(newConditionInfo);
449
+ }
450
+ }
451
+ }
452
+ exports.UAAlarmConditionBase = UAAlarmConditionBase;
453
+ /**
454
+ * @class UAAlarmConditionBase
455
+ * @static
456
+ * @property MaxDuration
457
+ * @type {Duration}
458
+ */
459
+ UAAlarmConditionBase.MaxDuration = Math.pow(2, 31);
460
+ //# sourceMappingURL=ua_alarm_condition_base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_alarm_condition_base.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_alarm_condition_base.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,mCAAiC;AAEjC,yDAA2C;AAC3C,iEAAkD;AAElD,yDAA2C;AAC3C,mEAAqD;AACrD,2DAA8C;AAG9C,kFAAiH;AAEjH,qDAAiD;AACjD,qEAAqF;AACrF,2FAAqF;AAErF,SAAS,2BAA2B,CAAC,SAA+B;IAChE,SAAS,CAAC,mBAAmB,CAAC,kBAAkB,CAAC;QAC7C,QAAQ,EAAE,6BAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,SAAS,CAAC,qBAAqB,EAAE;KAC3C,CAAC,CAAC;AACP,CAAC;AAUD;;;;GAIG;AACH,MAAa,oBAAqB,SAAQ,kEAA8B;IASpE;;;;;;;;;OASG;IACI,MAAM,CAAC,WAAW,CAAC,SAAoB,EAAE,oBAAmD,EAAE,OAAY,EAAE,IAAS;QACxH,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAE5C,kFAAkF;QAClF,IAAA,0BAAM,EAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,2BAA2B;QACxE,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAE5E,0BAA0B;QAC1B,IAAI,CAAC,kBAAkB,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,oBAAoB,CAAC,CAAC;SACpF;QAED,MAAM,sBAAsB,GAAG,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAChF,0BAA0B;QAC1B,IAAI,CAAC,sBAAsB,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACrD;QAED,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE;YAC1C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACzC,IAAA,0BAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;SAC5C;QAED,IAAA,0BAAM,EAAC,sBAAsB,KAAK,kBAAkB,IAAI,kBAAkB,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAElH,MAAM,SAAS,GAAG,kEAA8B,CAAC,WAAW,CACxD,SAAS,EACT,oBAAoB,EACpB,OAAO,EACP,IAAI,CACiB,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAEjE,kDAAkD;QAClD,EAAE;QAEF,cAAc;QACd,6FAA6F;QAC7F,mGAAmG;QACnG,gGAAgG;QAChG,8FAA8F;QAC9F,8FAA8F;QAC9F,0FAA0F;QAC1F,kCAAkC;QAElC;;;WAGG;QACH,IAAA,2DAAmC,EAAC,SAAS,CAAC,WAAW,EAAE;YACvD,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,QAAQ;SACtB,CAAC,CAAC;QAEH,SAAS,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAEhD,cAAc;QACd;;;;;;;;;WASG;QACH,IAAI,SAAS,CAAC,eAAe,EAAE;YAC3B,iCAAiC;YACjC,IAAA,2DAAmC,EAAC,SAAS,CAAC,eAAe,EAAE;gBAC3D,UAAU,EAAE,cAAc;gBAC1B,SAAS,EAAE,YAAY;aAC1B,CAAC,CAAC;SACN;QACD,cAAc;QACd;;;;;;WAMG;QACH,IAAI,SAAS,CAAC,aAAa,EAAE;YACzB,6CAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;SACzD;QAED,kCAAkC;QAClC,kDAAkD;QAClD;;;;;;;;;;WAUG;QACH,IAAI,SAAS,CAAC,eAAe,EAAE;YAC3B,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,YAAuB,EAAE,EAAE;gBACtE,2BAA2B,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACN;QACD,IAAI,SAAS,CAAC,aAAa,EAAE;YACzB,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,YAAuB,EAAE,EAAE;gBACjF,2BAA2B,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACN;QACD,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAEvC;;;;;;;;;;;;WAYG;QACH,IAAI,SAAS,CAAC,cAAc,EAAE;YAC1B,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa;YAC7E,SAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC;gBACxC,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,OAAO,CAAC,cAAc;aAChC,CAAC,CAAC;SACN;QAED,+BAA+B;QAC/B,IAAA,0BAAM,EAAC,OAAO,CAAC,SAAS,EAAE,6DAA6D,CAAC,CAAC;QACzF,SAAS,CAAC,2BAA2B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAA,0BAAM,EAAC,SAAS,YAAY,kEAA8B,CAAC,CAAC;QAC5D,IAAA,0BAAM,EAAC,SAAS,YAAY,oBAAoB,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,OAAO;QACV,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAA,4CAAmB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC3C;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,aAAa;QAChB,uDAAuD;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,eAAe;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,gBAAgB;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,qBAAqB;QACxB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,EAAG,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;SACjE;QACD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YAC7E,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW,EAAE;gBACnD,OAAO,GAAG,IAAI,CAAC;aAClB;YACD,yDAAyD;SAC5D;QACD,gEAAgE;QAChE,OAAO,UAAU,IAAI,OAAO,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,sBAAsB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,QAAgB;QACrC,IAAI,QAAQ,GAAG,EAAE,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,QAAQ,GAAG,uBAAuB,CAAC,CAAC;SAC9F;QACD,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;YACnC,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,QAAQ;SAClB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,iBAAiB;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,0DAA0D;YAC1D,IAAA,0BAAM,EAAC,oBAAoB,CAAC,WAAW,IAAI,UAAU,EAAE,0CAA0C,CAAC,CAAC;YACnG,OAAO,oBAAoB,CAAC,WAAW,CAAC;SAC3C;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAClD,IAAA,0BAAM,EAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB;QAC3E,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACI,gBAAgB;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;QACtD,IAAA,0BAAM,EAAC,MAAM,YAAY,0BAAM,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAsB,CAAC;IACnE,CAAC;IACD;;;OAGG;IACI,iBAAiB;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,IAAI,CAAC;SACf;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IACxC,CAAC;IAEM,WAAW;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAgB,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEM,uBAAuB,CAAC,QAAmB;QAC9C,6EAA6E;QAC7E,oEAAoE;IACxE,CAAC;IAED;;;;;;;OAOG;IACI,2BAA2B,CAAC,SAA4B;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB;;;;;;;;;WASG;QACH,IAAA,0BAAM,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,CAAC,CAAC;QAEzD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,IAAA,0BAAM,EAAC,SAAS,EAAE,6DAA6D,CAAC,CAAC;QAEjF,IAAI,SAAS,YAAY,0BAAM,EAAE;YAC7B,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;gBAC/B,QAAQ,EAAE,6BAAQ,CAAC,MAAM;gBACzB,KAAK,EAAE,SAAmB;aAC7B,CAAC,CAAC;SACN;aAAM;YACH,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;gBAC/B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAG,SAAsB,CAAC,MAAM;aACxC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,KAAK,KAAK,IAAI,EAAE;gBAChB,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;aAClD;iBAAM;gBACH,IAAA,0BAAM,EAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;gBAC9C,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;oBAC/B,QAAQ,EAAE,6BAAQ,CAAC,MAAM;oBACzB,KAAK,EAAE,KAAK,CAAC,MAAM;iBACtB,CAAC,CAAC;aACN;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,IAAI,EAAE;gBACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACzC;YACD,UAAU,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,YAAuB,CAAC,mBAAmB,EAAE,EAAE;gBAC3E,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE;oBAC1B,8DAA8D;oBAC9D,mEAAmE;oBACnE,OAAO;iBACV;gBACD,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEM,uBAAuB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC;QAEnB,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,CAAC;QAEpD,MAAM,gBAAgB,GAAG,IAAI,8BAAa,CAAC;YACvC,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACI,uBAAuB,CAC1B,SAAwB,EACxB,QAAiB,EACjB,KAAa,EACb,YAA2B;QAE3B,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,IAAI,8BAAa,CAAC;gBACrB,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,oCAAW,CAAC,IAAI;gBACzB,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,CAAC;aACd,CAAC,CAAC;SACN;aAAM;YACH,OAAO,IAAI,8BAAa,CAAC;gBACrB,OAAO,EAAE,qBAAqB,GAAG,KAAK,GAAG,gBAAgB,GAAG,SAAS;gBACrE,OAAO,EAAE,oCAAW,CAAC,IAAI;gBACzB,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,GAAG;aAChB,CAAC,CAAC;SACN;IACL,CAAC;IAEM,uBAAuB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,KAAK,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACM,mBAAmB,CAAC,SAAwB,EAAE,QAAkB,EAAE,KAAc;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,8BAA8B;QAC9B,sDAAsD;QACtD,oDAAoD;QACpD,iBAAiB;QACjB,OAAO;QACP,yDAAyD;QACzD,IAAA,0BAAM,EAAC,KAAK,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,CAAC;QACzC,wDAAwD;QAExD,MAAM,gBAAgB,GAAG,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACzD,MAAM,gBAAgB,GAAG,KAAK,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAM,EAAE,gBAAgB,CAAC,CAAC;QAExG,uEAAuE;QACvE,IAAI,IAAA,gBAAO,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,EAAE;YAC7C,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,MAAM,IAAI,KAAK,CACX,2EAA2E,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC5G,CAAC;SACL;QACD,IAAA,0BAAM,EAAC,CAAC,IAAA,gBAAO,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,oEAAoE,CAAC,CAAC;QAE3H,IAAI,QAAQ,EAAE;YACV,KAAK,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3C,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;SAC7C;aAAM;YACH,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,KAAK,KAAK,EAAE;gBACjD,mCAAmC;gBACnC,sFAAsF;gBAEtF,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE;oBACnC,6EAA6E;oBAC7E,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;oBACvC,IAAA,0BAAM,EAAC,SAAS,CAAC,WAAW,EAAE,KAAK,0BAAM,CAAC,UAAU,CAAC,CAAC;oBACtD,qEAAqE;oBACrE,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;iBACxC;aACJ;YAED,KAAK,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE1C,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;SAC7C;IACL,CAAC;;AAheL,oDAieC;AAheG;;;;;GAKG;AACW,gCAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC"}