node-opcua-address-space 2.70.3 → 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,163 +1,163 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UANonExclusiveLimitAlarmImpl = void 0;
4
- /* eslint-disable max-statements */
5
- /**
6
- * @module node-opcua-address-space.AlarmsAndConditions
7
- */
8
- const node_opcua_assert_1 = require("node-opcua-assert");
9
- const node_opcua_status_code_1 = require("node-opcua-status-code");
10
- const ua_two_state_variable_1 = require("../state_machine/ua_two_state_variable");
11
- const condition_info_1 = require("./condition_info");
12
- const ua_limit_alarm_impl_1 = require("./ua_limit_alarm_impl");
13
- class UANonExclusiveLimitAlarmImpl extends ua_limit_alarm_impl_1.UALimitAlarmImpl {
14
- static instantiate(namespace, type, options, data) {
15
- const addressSpace = namespace.addressSpace;
16
- options.optionals = options.optionals || [];
17
- if (Object.prototype.hasOwnProperty.call(options, "lowLowLimit")) {
18
- options.optionals.push("LowLowLimit");
19
- options.optionals.push("LowLowState");
20
- }
21
- if (Object.prototype.hasOwnProperty.call(options, "lowLimit")) {
22
- options.optionals.push("LowLimit");
23
- options.optionals.push("LowState");
24
- }
25
- if (Object.prototype.hasOwnProperty.call(options, "highLimit")) {
26
- options.optionals.push("HighLimit");
27
- options.optionals.push("HighState");
28
- }
29
- if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
30
- options.optionals.push("HighHighLimit");
31
- options.optionals.push("HighHighState");
32
- }
33
- const nonExclusiveAlarmType = addressSpace.findEventType(type);
34
- /* istanbul ignore next */
35
- if (!nonExclusiveAlarmType) {
36
- throw new Error(" cannot find Alarm Condition Type for " + type);
37
- }
38
- const nonExclusiveLimitAlarmType = addressSpace.findEventType("NonExclusiveLimitAlarmType");
39
- /* istanbul ignore next */
40
- if (!nonExclusiveLimitAlarmType) {
41
- throw new Error("cannot find NonExclusiveLimitAlarmType");
42
- }
43
- // assert(type nonExclusiveLimitAlarmType.browseName.toString());
44
- const alarm = ua_limit_alarm_impl_1.UALimitAlarmImpl.instantiate(namespace, type, options, data);
45
- Object.setPrototypeOf(alarm, UANonExclusiveLimitAlarmImpl.prototype);
46
- (0, node_opcua_assert_1.assert)(alarm instanceof ua_limit_alarm_impl_1.UALimitAlarmImpl);
47
- (0, node_opcua_assert_1.assert)(alarm instanceof UANonExclusiveLimitAlarmImpl);
48
- // ---------------- install States
49
- if (alarm.lowLowState) {
50
- (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.lowLowState, {
51
- falseState: "LowLow inactive",
52
- trueState: "LowLow active"
53
- });
54
- alarm.lowLowState.setValue(false);
55
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "lowLowLimit"));
56
- }
57
- if (alarm.lowState) {
58
- (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.lowState, {
59
- falseState: "Low inactive",
60
- trueState: "Low active"
61
- });
62
- alarm.lowState.setValue(false);
63
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "lowLimit"));
64
- }
65
- if (alarm.highState) {
66
- (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.highState, {
67
- falseState: "High inactive",
68
- trueState: "High active"
69
- });
70
- alarm.highState.setValue(false);
71
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "highLimit"));
72
- }
73
- if (alarm.highHighState) {
74
- (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.highHighState, {
75
- falseState: "HighHigh inactive",
76
- trueState: "HighHigh active"
77
- });
78
- alarm.highHighState.setValue(false);
79
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "highHighLimit"));
80
- }
81
- alarm.activeState.setValue(false);
82
- alarm.updateState();
83
- return alarm;
84
- }
85
- _calculateConditionInfo(states, isActive, value, oldConditionInfo) {
86
- if (!isActive) {
87
- return new condition_info_1.ConditionInfo({
88
- message: "Back to normal",
89
- quality: node_opcua_status_code_1.StatusCodes.Good,
90
- retain: true,
91
- severity: 0
92
- });
93
- }
94
- else {
95
- return new condition_info_1.ConditionInfo({
96
- message: "Condition value is " + value + " and state is " + states,
97
- quality: node_opcua_status_code_1.StatusCodes.Good,
98
- retain: true,
99
- severity: 150
100
- });
101
- }
102
- }
103
- _signalNewCondition2(states, isActive, value) {
104
- const alarm = this;
105
- if (typeof states === "string") {
106
- return;
107
- }
108
- function _install(name) {
109
- if (states[name] !== "unset") {
110
- alarm[name + "State"].setValue(states[name]);
111
- }
112
- }
113
- _install("highHigh");
114
- _install("high");
115
- _install("low");
116
- _install("lowLow");
117
- // build-up state string
118
- let state_str = Object.keys(states)
119
- .map((s) => (states[s] ? s : null))
120
- .filter((a) => a !== null)
121
- .join(";"); //
122
- state_str = JSON.stringify(states);
123
- ua_limit_alarm_impl_1.UALimitAlarmImpl.prototype._signalNewCondition.call(this, state_str, isActive, value);
124
- }
125
- _setStateBasedOnInputValue(value) {
126
- (0, node_opcua_assert_1.assert)(isFinite(value), "expecting a valid value here");
127
- let isActive = false;
128
- const states = {
129
- highHigh: this.highHighState ? this.highHighState.getValue() : "unset",
130
- high: this.highState ? this.highState.getValue() : "unset",
131
- low: this.lowState ? this.lowState.getValue() : "unset",
132
- lowLow: this.lowLowState ? this.lowLowState.getValue() : "unset"
133
- };
134
- let count = 0;
135
- function ___p(stateName, func_value) {
136
- if (states[stateName] !== "unset") {
137
- const val = func_value();
138
- isActive = isActive || val;
139
- if (states[stateName] !== val) {
140
- states[stateName] = val;
141
- count += 1;
142
- }
143
- }
144
- }
145
- ___p("highHigh", () => {
146
- return this.getHighHighLimit() < value;
147
- });
148
- ___p("high", () => {
149
- return this.getHighLimit() < value;
150
- });
151
- ___p("low", () => {
152
- return this.getLowLimit() > value;
153
- });
154
- ___p("lowLow", () => {
155
- return this.getLowLowLimit() > value;
156
- });
157
- if (count > 0) {
158
- this._signalNewCondition2(states, isActive, value.toString());
159
- }
160
- }
161
- }
162
- exports.UANonExclusiveLimitAlarmImpl = UANonExclusiveLimitAlarmImpl;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UANonExclusiveLimitAlarmImpl = void 0;
4
+ /* eslint-disable max-statements */
5
+ /**
6
+ * @module node-opcua-address-space.AlarmsAndConditions
7
+ */
8
+ const node_opcua_assert_1 = require("node-opcua-assert");
9
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
10
+ const ua_two_state_variable_1 = require("../state_machine/ua_two_state_variable");
11
+ const condition_info_1 = require("./condition_info");
12
+ const ua_limit_alarm_impl_1 = require("./ua_limit_alarm_impl");
13
+ class UANonExclusiveLimitAlarmImpl extends ua_limit_alarm_impl_1.UALimitAlarmImpl {
14
+ static instantiate(namespace, type, options, data) {
15
+ const addressSpace = namespace.addressSpace;
16
+ options.optionals = options.optionals || [];
17
+ if (Object.prototype.hasOwnProperty.call(options, "lowLowLimit")) {
18
+ options.optionals.push("LowLowLimit");
19
+ options.optionals.push("LowLowState");
20
+ }
21
+ if (Object.prototype.hasOwnProperty.call(options, "lowLimit")) {
22
+ options.optionals.push("LowLimit");
23
+ options.optionals.push("LowState");
24
+ }
25
+ if (Object.prototype.hasOwnProperty.call(options, "highLimit")) {
26
+ options.optionals.push("HighLimit");
27
+ options.optionals.push("HighState");
28
+ }
29
+ if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
30
+ options.optionals.push("HighHighLimit");
31
+ options.optionals.push("HighHighState");
32
+ }
33
+ const nonExclusiveAlarmType = addressSpace.findEventType(type);
34
+ /* istanbul ignore next */
35
+ if (!nonExclusiveAlarmType) {
36
+ throw new Error(" cannot find Alarm Condition Type for " + type);
37
+ }
38
+ const nonExclusiveLimitAlarmType = addressSpace.findEventType("NonExclusiveLimitAlarmType");
39
+ /* istanbul ignore next */
40
+ if (!nonExclusiveLimitAlarmType) {
41
+ throw new Error("cannot find NonExclusiveLimitAlarmType");
42
+ }
43
+ // assert(type nonExclusiveLimitAlarmType.browseName.toString());
44
+ const alarm = ua_limit_alarm_impl_1.UALimitAlarmImpl.instantiate(namespace, type, options, data);
45
+ Object.setPrototypeOf(alarm, UANonExclusiveLimitAlarmImpl.prototype);
46
+ (0, node_opcua_assert_1.assert)(alarm instanceof ua_limit_alarm_impl_1.UALimitAlarmImpl);
47
+ (0, node_opcua_assert_1.assert)(alarm instanceof UANonExclusiveLimitAlarmImpl);
48
+ // ---------------- install States
49
+ if (alarm.lowLowState) {
50
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.lowLowState, {
51
+ falseState: "LowLow inactive",
52
+ trueState: "LowLow active"
53
+ });
54
+ alarm.lowLowState.setValue(false);
55
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "lowLowLimit"));
56
+ }
57
+ if (alarm.lowState) {
58
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.lowState, {
59
+ falseState: "Low inactive",
60
+ trueState: "Low active"
61
+ });
62
+ alarm.lowState.setValue(false);
63
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "lowLimit"));
64
+ }
65
+ if (alarm.highState) {
66
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.highState, {
67
+ falseState: "High inactive",
68
+ trueState: "High active"
69
+ });
70
+ alarm.highState.setValue(false);
71
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "highLimit"));
72
+ }
73
+ if (alarm.highHighState) {
74
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.highHighState, {
75
+ falseState: "HighHigh inactive",
76
+ trueState: "HighHigh active"
77
+ });
78
+ alarm.highHighState.setValue(false);
79
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "highHighLimit"));
80
+ }
81
+ alarm.activeState.setValue(false);
82
+ alarm.updateState();
83
+ return alarm;
84
+ }
85
+ _calculateConditionInfo(states, isActive, value, oldConditionInfo) {
86
+ if (!isActive) {
87
+ return new condition_info_1.ConditionInfo({
88
+ message: "Back to normal",
89
+ quality: node_opcua_status_code_1.StatusCodes.Good,
90
+ retain: true,
91
+ severity: 0
92
+ });
93
+ }
94
+ else {
95
+ return new condition_info_1.ConditionInfo({
96
+ message: "Condition value is " + value + " and state is " + states,
97
+ quality: node_opcua_status_code_1.StatusCodes.Good,
98
+ retain: true,
99
+ severity: 150
100
+ });
101
+ }
102
+ }
103
+ _signalNewCondition2(states, isActive, value) {
104
+ const alarm = this;
105
+ if (typeof states === "string") {
106
+ return;
107
+ }
108
+ function _install(name) {
109
+ if (states[name] !== "unset") {
110
+ alarm[name + "State"].setValue(states[name]);
111
+ }
112
+ }
113
+ _install("highHigh");
114
+ _install("high");
115
+ _install("low");
116
+ _install("lowLow");
117
+ // build-up state string
118
+ let state_str = Object.keys(states)
119
+ .map((s) => (states[s] ? s : null))
120
+ .filter((a) => a !== null)
121
+ .join(";"); //
122
+ state_str = JSON.stringify(states);
123
+ ua_limit_alarm_impl_1.UALimitAlarmImpl.prototype._signalNewCondition.call(this, state_str, isActive, value);
124
+ }
125
+ _setStateBasedOnInputValue(value) {
126
+ (0, node_opcua_assert_1.assert)(isFinite(value), "expecting a valid value here");
127
+ let isActive = false;
128
+ const states = {
129
+ highHigh: this.highHighState ? this.highHighState.getValue() : "unset",
130
+ high: this.highState ? this.highState.getValue() : "unset",
131
+ low: this.lowState ? this.lowState.getValue() : "unset",
132
+ lowLow: this.lowLowState ? this.lowLowState.getValue() : "unset"
133
+ };
134
+ let count = 0;
135
+ function ___p(stateName, func_value) {
136
+ if (states[stateName] !== "unset") {
137
+ const val = func_value();
138
+ isActive = isActive || val;
139
+ if (states[stateName] !== val) {
140
+ states[stateName] = val;
141
+ count += 1;
142
+ }
143
+ }
144
+ }
145
+ ___p("highHigh", () => {
146
+ return this.getHighHighLimit() < value;
147
+ });
148
+ ___p("high", () => {
149
+ return this.getHighLimit() < value;
150
+ });
151
+ ___p("low", () => {
152
+ return this.getLowLimit() > value;
153
+ });
154
+ ___p("lowLow", () => {
155
+ return this.getLowLowLimit() > value;
156
+ });
157
+ if (count > 0) {
158
+ this._signalNewCondition2(states, isActive, value.toString());
159
+ }
160
+ }
161
+ }
162
+ exports.UANonExclusiveLimitAlarmImpl = UANonExclusiveLimitAlarmImpl;
163
163
  //# sourceMappingURL=ua_non_exclusive_limit_alarm_impl.js.map
@@ -0,0 +1,47 @@
1
+ import { DataValue } from "node-opcua-data-value";
2
+ import { NodeId } from "node-opcua-nodeid";
3
+ import { Namespace, UAVariable } from "../../source";
4
+ import { UADiscreteAlarm } from "./ua_discrete_alarm";
5
+ export interface UAOffNormalAlarm extends UADiscreteAlarm {
6
+ normalState: UAVariable;
7
+ }
8
+ /**
9
+ * The OffNormalAlarmType is a specialization of the DiscreteAlarmType intended to represent a
10
+ * discrete Condition that is considered to be not normal.
11
+ * This sub type is usually used to indicate that a discrete value is in an Alarm state, it is active as
12
+ * long as a non-normal value is present.
13
+ *
14
+ * @class UAOffNormalAlarm
15
+ * @extends UADiscreteAlarm
16
+ * @constructor
17
+ *
18
+ *
19
+ */
20
+ export declare class UAOffNormalAlarm extends UADiscreteAlarm {
21
+ /**
22
+ * @method (static)UAOffNormalAlarm.instantiate
23
+ * @param namespace {Namespace}
24
+ * @param limitAlarmTypeId
25
+ * @param options
26
+ * @param options.inputNode {NodeId|UAVariable} the input node
27
+ * @param options.normalState {NodeId|UAVariable} the normalStateNode node
28
+ * @param data
29
+ *
30
+ * When the value of inputNode doesn't match the normalState node value, then the alarm is raised.
31
+ *
32
+ */
33
+ static instantiate(namespace: Namespace, limitAlarmTypeId: string | NodeId, options: any, data: any): UAOffNormalAlarm;
34
+ getNormalStateNode(): UAVariable;
35
+ /**
36
+ * @method getNormalStateValue
37
+ */
38
+ getNormalStateValue(): any;
39
+ /**
40
+ * @method setNormalStateValue
41
+ * @param value
42
+ */
43
+ setNormalStateValue(value: any): void;
44
+ _updateAlarmState(normalStateValue?: any, inputValue?: any): void;
45
+ _onInputDataValueChange(dataValue: DataValue): void;
46
+ protected _onNormalStateDataValueChange(dataValue: DataValue): void;
47
+ }
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UAOffNormalAlarm = void 0;
4
+ /**
5
+ * @module node-opcua-address-space.AlarmsAndConditions
6
+ */
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
9
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
10
+ const utils = require("node-opcua-utils");
11
+ const node_opcua_variant_1 = require("node-opcua-variant");
12
+ const ua_discrete_alarm_1 = require("./ua_discrete_alarm");
13
+ function isEqual(value1, value2) {
14
+ return value1 === value2;
15
+ }
16
+ /**
17
+ * The OffNormalAlarmType is a specialization of the DiscreteAlarmType intended to represent a
18
+ * discrete Condition that is considered to be not normal.
19
+ * This sub type is usually used to indicate that a discrete value is in an Alarm state, it is active as
20
+ * long as a non-normal value is present.
21
+ *
22
+ * @class UAOffNormalAlarm
23
+ * @extends UADiscreteAlarm
24
+ * @constructor
25
+ *
26
+ *
27
+ */
28
+ class UAOffNormalAlarm extends ua_discrete_alarm_1.UADiscreteAlarm {
29
+ /**
30
+ * @method (static)UAOffNormalAlarm.instantiate
31
+ * @param namespace {Namespace}
32
+ * @param limitAlarmTypeId
33
+ * @param options
34
+ * @param options.inputNode {NodeId|UAVariable} the input node
35
+ * @param options.normalState {NodeId|UAVariable} the normalStateNode node
36
+ * @param data
37
+ *
38
+ * When the value of inputNode doesn't match the normalState node value, then the alarm is raised.
39
+ *
40
+ */
41
+ static instantiate(namespace, limitAlarmTypeId, options, data) {
42
+ const addressSpace = namespace.addressSpace;
43
+ const offNormalAlarmType = addressSpace.findEventType("OffNormalAlarmType");
44
+ /* istanbul ignore next */
45
+ if (!offNormalAlarmType) {
46
+ throw new Error("cannot find offNormalAlarmType");
47
+ }
48
+ node_opcua_assert_1.assert(options.hasOwnProperty("inputNode"), "must provide inputNode"); // must provide a inputNode
49
+ node_opcua_assert_1.assert(options.hasOwnProperty("normalState"), "must provide a normalState Node"); // must provide a inputNode
50
+ options.optionals = options.optionals || [];
51
+ node_opcua_assert_1.assert(options.hasOwnProperty("inputNode"), "must provide inputNode"); // must provide a inputNode
52
+ const alarmNode = ua_discrete_alarm_1.UADiscreteAlarm.instantiate(namespace, limitAlarmTypeId, options, data);
53
+ Object.setPrototypeOf(alarmNode, UAOffNormalAlarm.prototype);
54
+ const inputNode = addressSpace._coerceNode(options.inputNode);
55
+ // assert(inputNode, "Expecting a valid input node");
56
+ const normalState = addressSpace._coerceNode(options.normalState);
57
+ // assert(normalState, "Expecting a valid normalState node");
58
+ const normalStateNodeId = normalState ? normalState.nodeId : node_opcua_nodeid_1.NodeId.nullNodeId;
59
+ alarmNode.normalState.setValueFromSource({ dataType: node_opcua_variant_1.DataType.NodeId, value: normalStateNodeId });
60
+ if (inputNode) {
61
+ // install inputNode Node monitoring for change
62
+ alarmNode._installInputNodeMonitoring(options.inputNode);
63
+ }
64
+ alarmNode.normalState.on("value_changed", (newDataValue /*, oldDataValue: DataValue*/) => {
65
+ // The node that contains the normalState value has changed.
66
+ // we must remove the listener on current normalState and replace
67
+ // normalState with the new one and set listener again
68
+ // to do:
69
+ });
70
+ if (normalState) {
71
+ // install normalState monitoring for change
72
+ normalState.on("value_changed", (newDataValue /*, oldDataValue: DataValue*/) => {
73
+ alarmNode._onNormalStateDataValueChange(newDataValue);
74
+ });
75
+ }
76
+ alarmNode._updateAlarmState();
77
+ return alarmNode;
78
+ }
79
+ // HasProperty Variable NormalState NodeId PropertyType Mandatory
80
+ // The NormalState Property is a Property that points to a Variable which has a value that
81
+ // corresponds to one of the possible values of the Variable pointed to by the InputNode
82
+ // Property where the NormalState Property Variable value is the value that is considered to be
83
+ // the normal state of the Variable pointed to by the InputNode Property. When the value of the
84
+ // Variable referenced by the InputNode Property is not equal to the value of the NormalState
85
+ // Property the Alarm is Active. If this Variable is not in the AddressSpace, a Null NodeId shall
86
+ // be provided.
87
+ getNormalStateNode() {
88
+ const nodeId = this.normalState.readValue().value.value;
89
+ const node = this.addressSpace.findNode(nodeId);
90
+ node_opcua_assert_1.assert(node, "getNormalStateNode ");
91
+ return node;
92
+ }
93
+ /**
94
+ * @method getNormalStateValue
95
+ */
96
+ getNormalStateValue() {
97
+ const normalStateNode = this.getNormalStateNode();
98
+ return normalStateNode.readValue().value.value;
99
+ }
100
+ /**
101
+ * @method setNormalStateValue
102
+ * @param value
103
+ */
104
+ setNormalStateValue(value) {
105
+ const normalStateNode = this.getNormalStateNode();
106
+ throw new Error("Not Implemented yet");
107
+ }
108
+ _updateAlarmState(normalStateValue, inputValue) {
109
+ const alarm = this;
110
+ if (utils.isNullOrUndefined(normalStateValue) || utils.isNullOrUndefined(inputValue)) {
111
+ this.activeState.setValue(false);
112
+ return;
113
+ }
114
+ const isActive = !isEqual(normalStateValue, inputValue);
115
+ if (isActive === alarm.activeState.getValue()) {
116
+ // no change => ignore !
117
+ return;
118
+ }
119
+ const stateName = isActive ? "Active" : "Inactive";
120
+ // also raise the event
121
+ alarm._signalNewCondition(stateName, isActive, "");
122
+ }
123
+ _onInputDataValueChange(dataValue) {
124
+ if (dataValue.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
125
+ // what shall we do ?
126
+ return;
127
+ }
128
+ if (dataValue.value.dataType === node_opcua_variant_1.DataType.Null) {
129
+ // what shall we do ?
130
+ return;
131
+ }
132
+ const inputValue = dataValue.value.value;
133
+ const normalStateValue = this.getNormalStateValue();
134
+ this._updateAlarmState(normalStateValue, inputValue);
135
+ }
136
+ _onNormalStateDataValueChange(dataValue) {
137
+ if (dataValue.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
138
+ // what shall we do ?
139
+ return;
140
+ }
141
+ if (dataValue.value.dataType === node_opcua_variant_1.DataType.Null) {
142
+ // what shall we do ?
143
+ return;
144
+ }
145
+ const normalStateValue = dataValue.value.value;
146
+ const inputValue = this.getInputNodeValue();
147
+ this._updateAlarmState(normalStateValue, inputValue);
148
+ }
149
+ }
150
+ exports.UAOffNormalAlarm = UAOffNormalAlarm;
151
+ //# sourceMappingURL=ua_off_normal_alarm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_off_normal_alarm.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_off_normal_alarm.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,yDAA2C;AAE3C,yDAA2C;AAC3C,mEAAqD;AACrD,0CAA0C;AAC1C,2DAA8C;AAG9C,2DAAsD;AAEtD,SAAS,OAAO,CAAC,MAAW,EAAE,MAAW;IACrC,OAAO,MAAM,KAAK,MAAM,CAAC;AAC7B,CAAC;AAKD;;;;;;;;;;;GAWG;AACH,MAAa,gBAAiB,SAAQ,mCAAe;IAEjD;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,WAAW,CACrB,SAAoB,EACpB,gBAAiC,EACjC,OAAY,EACZ,IAAS;QAET,MAAM,YAAY,GAAI,SAA8B,CAAC,YAAY,CAAC;QAElE,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC5E,0BAA0B;QAC1B,IAAI,CAAC,kBAAkB,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACrD;QAED,0BAAM,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAU,2BAA2B;QAC3G,0BAAM,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,iCAAiC,CAAC,CAAC,CAAC,2BAA2B;QAC7G,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAE5C,0BAAM,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,2BAA2B;QAClG,MAAM,SAAS,GAAG,mCAAe,CAAC,WAAW,CACzC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAqB,CAAC;QACpE,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE7D,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9D,2DAA2D;QAE3D,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAgB,CAAC;QACjF,mEAAmE;QAEnE,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,0BAAM,CAAC,UAAU,CAAC;QAC/E,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAElG,IAAI,SAAS,EAAE;YACX,+CAA+C;YAC/C,SAAS,CAAC,2BAA2B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5D;QAED,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,YAAuB,CAAA,6BAA6B,EAAE,EAAE;YAC/F,4DAA4D;YAC5D,mEAAmE;YAEnE,wDAAwD;YACxD,WAAW;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE;YACb,4CAA4C;YAC5C,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,YAAuB,CAAA,6BAA6B,EAAE,EAAE;gBACrF,SAAS,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;SACN;QACD,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAE9B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iEAAiE;IACjE,0FAA0F;IAC1F,wFAAwF;IACxF,+FAA+F;IAC/F,+FAA+F;IAC/F,6FAA6F;IAC7F,iGAAiG;IACjG,eAAe;IAER,kBAAkB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAe,CAAC;QAC9D,0BAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,mBAAmB;QACtB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClD,OAAO,eAAe,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,KAAU;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IAEM,iBAAiB,CAAC,gBAAsB,EAAE,UAAgB;QAE7D,MAAM,KAAK,GAAG,IAAI,CAAC;QAEnB,IAAI,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;YAClF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO;SACV;QACD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAExD,IAAI,QAAQ,KAAK,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;YAC3C,wBAAwB;YACxB,OAAO;SACV;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;QACnD,uBAAuB;QACvB,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEvD,CAAC;IAEM,uBAAuB,CAAC,SAAoB;QAE/C,IAAI,SAAS,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;YAC3C,qBAAqB;YACrB,OAAO;SACV;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,IAAI,EAAE;YAC5C,qBAAqB;YACrB,OAAO;SACV;QACD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAEzD,CAAC;IAES,6BAA6B,CAAC,SAAoB;QAExD,IAAI,SAAS,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;YAC3C,qBAAqB;YACrB,OAAO;SACV;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,IAAI,EAAE;YAC5C,qBAAqB;YACrB,OAAO;SACV;QACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;CAEJ;AA3JD,4CA2JC"}
@@ -1,39 +1,39 @@
1
- import { DataValue } from "node-opcua-data-value";
2
- import { NodeId } from "node-opcua-nodeid";
3
- import { UAOffNormalAlarm_Base } from "node-opcua-nodeset-ua";
4
- import { INamespace, UAVariable } from "../../source";
5
- import { UADiscreteAlarmEx, UADiscreteAlarmImpl } from "./ua_discrete_alarm_impl";
6
- export declare interface UAOffNormalAlarmEx extends Omit<UAOffNormalAlarm_Base, "ackedState" | "activeState" | "confirmedState" | "enabledState" | "latchedState" | "outOfServiceState" | "shelvingState" | "silenceState" | "suppressedState">, UADiscreteAlarmEx {
7
- getNormalStateNode(): UAVariable;
8
- getNormalStateValue(): any;
9
- setNormalStateValue(value: any): void;
10
- }
11
- export declare interface UAOffNormalAlarmImpl extends UAOffNormalAlarmEx, UADiscreteAlarmImpl {
12
- on(eventName: string, eventHandler: any): this;
13
- }
14
- /**
15
- * The OffNormalAlarmType is a specialization of the DiscreteAlarmType intended to represent a
16
- * discrete Condition that is considered to be not normal.
17
- * This sub type is usually used to indicate that a discrete value is in an Alarm state, it is active as
18
- * long as a non-normal value is present.
19
- */
20
- export declare class UAOffNormalAlarmImpl extends UADiscreteAlarmImpl implements UAOffNormalAlarmEx {
21
- /**
22
- * When the value of inputNode doesn't match the normalState node value, then the alarm is raised.
23
- *
24
- */
25
- static instantiate(namespace: INamespace, limitAlarmTypeId: string | NodeId, options: any, data: any): UAOffNormalAlarmImpl;
26
- getNormalStateNode(): UAVariable;
27
- /**
28
- * @method getNormalStateValue
29
- */
30
- getNormalStateValue(): any;
31
- /**
32
- * @method setNormalStateValue
33
- * @param value
34
- */
35
- setNormalStateValue(value: any): void;
36
- _updateAlarmState(normalStateValue?: any, inputValue?: any): void;
37
- _onInputDataValueChange(dataValue: DataValue): void;
38
- protected _onNormalStateDataValueChange(dataValue: DataValue): void;
39
- }
1
+ import { DataValue } from "node-opcua-data-value";
2
+ import { NodeId } from "node-opcua-nodeid";
3
+ import { UAOffNormalAlarm_Base } from "node-opcua-nodeset-ua";
4
+ import { INamespace, UAVariable } from "../../source";
5
+ import { UADiscreteAlarmEx, UADiscreteAlarmImpl } from "./ua_discrete_alarm_impl";
6
+ export declare interface UAOffNormalAlarmEx extends Omit<UAOffNormalAlarm_Base, "ackedState" | "activeState" | "confirmedState" | "enabledState" | "latchedState" | "outOfServiceState" | "shelvingState" | "silenceState" | "suppressedState">, UADiscreteAlarmEx {
7
+ getNormalStateNode(): UAVariable;
8
+ getNormalStateValue(): any;
9
+ setNormalStateValue(value: any): void;
10
+ }
11
+ export declare interface UAOffNormalAlarmImpl extends UAOffNormalAlarmEx, UADiscreteAlarmImpl {
12
+ on(eventName: string, eventHandler: any): this;
13
+ }
14
+ /**
15
+ * The OffNormalAlarmType is a specialization of the DiscreteAlarmType intended to represent a
16
+ * discrete Condition that is considered to be not normal.
17
+ * This sub type is usually used to indicate that a discrete value is in an Alarm state, it is active as
18
+ * long as a non-normal value is present.
19
+ */
20
+ export declare class UAOffNormalAlarmImpl extends UADiscreteAlarmImpl implements UAOffNormalAlarmEx {
21
+ /**
22
+ * When the value of inputNode doesn't match the normalState node value, then the alarm is raised.
23
+ *
24
+ */
25
+ static instantiate(namespace: INamespace, limitAlarmTypeId: string | NodeId, options: any, data: any): UAOffNormalAlarmImpl;
26
+ getNormalStateNode(): UAVariable;
27
+ /**
28
+ * @method getNormalStateValue
29
+ */
30
+ getNormalStateValue(): any;
31
+ /**
32
+ * @method setNormalStateValue
33
+ * @param value
34
+ */
35
+ setNormalStateValue(value: any): void;
36
+ _updateAlarmState(normalStateValue?: any, inputValue?: any): void;
37
+ _onInputDataValueChange(dataValue: DataValue): void;
38
+ protected _onNormalStateDataValueChange(dataValue: DataValue): void;
39
+ }