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,513 @@
1
+ /**
2
+ * @module node-opcua-address-space.AlarmsAndConditions
3
+ */
4
+ import { isEqual } from "lodash";
5
+
6
+ import { assert } from "node-opcua-assert";
7
+ import { NodeClass } from "node-opcua-data-model";
8
+ import { DataValue } from "node-opcua-data-value";
9
+ import { NodeId } from "node-opcua-nodeid";
10
+ import { StatusCodes } from "node-opcua-status-code";
11
+ import { DataType } from "node-opcua-variant";
12
+ import { UAAlarmCondition_Base } from "node-opcua-nodeset-ua";
13
+
14
+ import { BaseNode, INamespace, UAEventType, UAVariable } from "../../source";
15
+ import { _install_TwoStateVariable_machinery } from "../state_machine/ua_two_state_variable";
16
+ import { UAShelvedStateMachineEx, _clear_timer_if_any } from "../state_machine/ua_shelving_state_machine_ex";
17
+ import { UATwoStateVariableEx } from "../../source/ua_two_state_variable_ex";
18
+ import { AddressSpacePrivate } from "../address_space_private";
19
+
20
+ import { ConditionInfo } from "./condition_info";
21
+ import {
22
+ UAAcknowledgeableConditionEx,
23
+ UAAcknowledgeableConditionHelper,
24
+ UAAcknowledgeableConditionImpl
25
+ } from "./ua_acknowledgeable_condition_impl";
26
+
27
+ function _update_suppressedOrShelved(alarmNode: UAAlarmConditionImpl) {
28
+ alarmNode.suppressedOrShelved.setValueFromSource({
29
+ dataType: DataType.Boolean,
30
+ value: alarmNode.isSuppressedOrShelved()
31
+ });
32
+ }
33
+ export interface UAAlarmConditionHelper extends UAAcknowledgeableConditionHelper {
34
+ activateAlarm(): void;
35
+ deactivateAlarm(): void;
36
+ isSuppressedOrShelved(): boolean;
37
+ getSuppressedOrShelved(): boolean;
38
+ setMaxTimeShelved(duration: number): void;
39
+ getMaxTimeShelved(): number;
40
+ getInputNodeNode(): UAVariable | null;
41
+ getInputNodeValue(): any | null;
42
+ updateState(): void;
43
+ getCurrentConditionInfo(): ConditionInfo;
44
+
45
+ installInputNodeMonitoring(inputNode: BaseNode | NodeId): void;
46
+ }
47
+
48
+ export declare interface UAAlarmConditionEx extends UAAlarmConditionHelper, UAAlarmCondition_Base, UAAcknowledgeableConditionEx {
49
+ on(eventName: string, eventHandler: any): this;
50
+
51
+ enabledState: UATwoStateVariableEx;
52
+ activeState: UATwoStateVariableEx;
53
+ ackedState: UATwoStateVariableEx;
54
+ confirmedState?: UATwoStateVariableEx;
55
+
56
+ suppressedState?: UATwoStateVariableEx;
57
+
58
+ outOfServiceState?: UATwoStateVariableEx;
59
+ shelvingState?: UAShelvedStateMachineEx;
60
+ silenceState?: UATwoStateVariableEx;
61
+ latchedState?: UATwoStateVariableEx;
62
+ }
63
+
64
+ export declare interface UAAlarmConditionImpl extends UAAlarmConditionEx, UAAcknowledgeableConditionImpl {
65
+ on(eventName: string, eventHandler: any): this;
66
+ }
67
+
68
+ export class UAAlarmConditionImpl extends UAAcknowledgeableConditionImpl implements UAAlarmConditionEx {
69
+ public static MaxDuration = Math.pow(2, 31);
70
+
71
+ public static instantiate(
72
+ namespace: INamespace,
73
+ alarmConditionTypeId: UAEventType | string | NodeId,
74
+ options: any,
75
+ data: any
76
+ ): UAAlarmConditionImpl {
77
+ const addressSpace = namespace.addressSpace;
78
+ // xx assert(Object.prototype.hasOwnProperty.call(options,"conditionOf")); // must provide a conditionOf
79
+ assert(Object.prototype.hasOwnProperty.call(options, "inputNode")); // must provide a inputNode
80
+ const alarmConditionType = addressSpace.findEventType(alarmConditionTypeId);
81
+
82
+ /* istanbul ignore next */
83
+ if (!alarmConditionType) {
84
+ throw new Error(" cannot find Alarm Condition Type for " + alarmConditionTypeId);
85
+ }
86
+
87
+ const alarmConditionTypeBase = addressSpace.findEventType("AlarmConditionType");
88
+ /* istanbul ignore next */
89
+ if (!alarmConditionTypeBase) {
90
+ throw new Error("cannot find AlarmConditionType");
91
+ }
92
+
93
+ options.optionals = options.optionals || [];
94
+ if (Object.prototype.hasOwnProperty.call(options, "maxTimeShelved")) {
95
+ options.optionals.push("MaxTimeShelved");
96
+ assert(isFinite(options.maxTimeShelved));
97
+ }
98
+
99
+ assert(alarmConditionTypeBase === alarmConditionType || alarmConditionType.isSupertypeOf(alarmConditionTypeBase));
100
+
101
+ const alarmNode = UAAcknowledgeableConditionImpl.instantiate(
102
+ namespace,
103
+ alarmConditionTypeId,
104
+ options,
105
+ data
106
+ ) as UAAlarmConditionImpl;
107
+ Object.setPrototypeOf(alarmNode, UAAlarmConditionImpl.prototype);
108
+
109
+ // ----------------------- Install Alarm specifics
110
+ //
111
+
112
+ // Specs 1.03:
113
+ // ActiveState/Id when set to TRUE indicates that the situation the Condition is representing
114
+ // currently exists. When a Condition instance is in the inactive state (ActiveState/Id when set to
115
+ // FALSE) it is representing a situation that has returned to a normal state. The transitions of
116
+ // Conditions to the inactive and Active states are triggered by Server specific actions. Sub-
117
+ // Types of the AlarmConditionType specified later in this document will have sub-state models
118
+ // that further define the Active state. Recommended state names are described in Annex A.
119
+ // install activeState - Mandatory
120
+
121
+ /**
122
+ * @property activeState
123
+ * @type {UATwoStateVariable}
124
+ */
125
+ _install_TwoStateVariable_machinery(alarmNode.activeState, {
126
+ falseState: "Inactive",
127
+ trueState: "Active"
128
+ });
129
+
130
+ alarmNode.currentBranch().setActiveState(false);
131
+
132
+ // Specs 1.03:
133
+ /**
134
+ *
135
+ * SuppressState is used internally by a Server to automatically suppress Alarms due to system
136
+ * specific reasons. For example a system may be configured to suppress Alarms that are
137
+ * associated with machinery that is shutdown, such as a low level Alarm for a tank that is
138
+ * currently not in use.
139
+ *
140
+ * @property suppressedState
141
+ * @type UATwoStateVariable
142
+ */
143
+ if (alarmNode.suppressedState) {
144
+ // install activeState - Optional
145
+ _install_TwoStateVariable_machinery(alarmNode.suppressedState, {
146
+ falseState: "Unsuppressed",
147
+ trueState: "Suppressed"
148
+ });
149
+ }
150
+ // Specs 1.03:
151
+ /**
152
+ * ShelvingState suggests whether an Alarm shall (temporarily) be prevented from being
153
+ * displayed to the user. It is quite often used to block nuisance Alarms.
154
+ *
155
+ * @property shelvingState
156
+ * @type ShelvingStateMachine
157
+ */
158
+ if (alarmNode.shelvingState) {
159
+ UAShelvedStateMachineEx.promote(alarmNode.shelvingState);
160
+ }
161
+
162
+ // SuppressedOrShelved : Mandatory
163
+ // install suppressedOrShelved automatic detection
164
+ /**
165
+ * The SuppressedState and the ShelvingState together result in the SuppressedOrShelved status of the
166
+ * Condition. When an Alarm is in one of the states, the SuppressedOrShelved property will be set TRUE
167
+ * and this Alarm is then typically not displayed by the Client. State transitions associated with the
168
+ * Alarm do occur, but they are not typically displayed by the Clients as long as the Alarm remains in
169
+ * either the Suppressed or Shelved state.
170
+ * The dataType is Boolean.
171
+ * @property suppressedState
172
+ * @type UAVariable
173
+ *
174
+ */
175
+ if (alarmNode.suppressedState) {
176
+ alarmNode.suppressedState.on("value_changed", (newDataValue: DataValue) => {
177
+ _update_suppressedOrShelved(alarmNode);
178
+ });
179
+ }
180
+ if (alarmNode.shelvingState) {
181
+ alarmNode.shelvingState.currentState.on("value_changed", (newDataValue: DataValue) => {
182
+ _update_suppressedOrShelved(alarmNode);
183
+ });
184
+ }
185
+ _update_suppressedOrShelved(alarmNode);
186
+
187
+ /**
188
+ * The optional Property MaxTimeShelved is used to set the maximum time that an Alarm Condition may be shelved.
189
+ * The value is expressed as duration. Systems can use this Property to prevent permanent Shelving of an Alarm.
190
+ * If this Property is present it will be an upper limit on the duration passed into a TimedShelve Method call.
191
+ * If a value that exceeds the value of this property is passed to the TimedShelve Method,
192
+ * than a BadShelvingTimeOutOfRange error code is returned on the call. If this Property is present it will
193
+ * also be enforced for the OneShotShelved state, in that an Alarm Condition will transition to the Unshelved
194
+ * state from the OneShotShelved state if the duration specified in this Property expires following a
195
+ * OneShotShelve operation without a change of any of the other items associated with the Condition.
196
+ *
197
+ * @property maxTimeShelved
198
+ * @type {UAVariable}
199
+ */
200
+ if (alarmNode.maxTimeShelved) {
201
+ options.maxTimeShelved = options.maxTimeShelved || 60.0 * 1000; // 60 seconds
202
+ alarmNode.maxTimeShelved.setValueFromSource({
203
+ dataType: "Duration",
204
+ value: options.maxTimeShelved
205
+ });
206
+ }
207
+
208
+ // ---------- install inputNode
209
+ assert(options.inputNode, " must provide options.inputNode (NodeId or BaseNode object)");
210
+ alarmNode.installInputNodeMonitoring(options.inputNode);
211
+
212
+ assert(alarmNode instanceof UAAcknowledgeableConditionImpl);
213
+ assert(alarmNode instanceof UAAlarmConditionImpl);
214
+ return alarmNode;
215
+ }
216
+
217
+ public dispose(): void {
218
+ if (this.shelvingState) {
219
+ _clear_timer_if_any(this.shelvingState);
220
+ }
221
+ super.dispose();
222
+ }
223
+
224
+ public activateAlarm(): void {
225
+ // will set acknowledgeable to false and retain to true
226
+ const branch = this.currentBranch();
227
+ branch.setRetain(true);
228
+ branch.setActiveState(true);
229
+ branch.setAckedState(false);
230
+ }
231
+
232
+ public deactivateAlarm(): void {
233
+ const branch = this.currentBranch();
234
+ branch.setRetain(true);
235
+ branch.setActiveState(false);
236
+ }
237
+
238
+ /**
239
+ * @deprecated use deactivateAlarm instead (with no s after de-activate)
240
+ */
241
+ public desactivateAlarm(): void {
242
+ this.deactivateAlarm();
243
+ }
244
+
245
+ public isSuppressedOrShelved(): boolean {
246
+ let suppressed = false;
247
+ if (this.suppressedState) {
248
+ suppressed = this.suppressedState.id!.readValue().value.value;
249
+ }
250
+ let shelved = false;
251
+ if (this.shelvingState) {
252
+ const shelvedValue = this.shelvingState.currentState.readValue().value.value;
253
+ if (shelvedValue && shelvedValue.text !== "Unshelved") {
254
+ shelved = true;
255
+ }
256
+ // console.log("shelved = shelved",shelvedValue,shelved);
257
+ }
258
+ // xx console.log(" isSuppressedOrShelved ",suppressed,shelved);
259
+ return suppressed || shelved;
260
+ }
261
+
262
+ public getSuppressedOrShelved(): boolean {
263
+ return this.suppressedOrShelved.readValue().value.value;
264
+ }
265
+
266
+ /**
267
+ *
268
+ * note: duration must be greater than 10ms and lesser than 2**31 ms
269
+ */
270
+ public setMaxTimeShelved(duration: number): void {
271
+ if (duration < 10 || duration >= Math.pow(2, 31)) {
272
+ throw new Error(" Invalid maxTimeShelved duration: " + duration + " must be [10,2**31] ");
273
+ }
274
+ this.maxTimeShelved?.setValueFromSource({
275
+ dataType: "Duration", // <= Duration is basic Type Double! ( milliseconds)
276
+ value: duration
277
+ });
278
+ }
279
+
280
+ /**
281
+ * note: return a Duration
282
+ */
283
+ public getMaxTimeShelved(): number {
284
+ if (!this.maxTimeShelved) {
285
+ // if maxTimeShelved is not provided we assume MaxDuration
286
+ assert(UAAlarmConditionImpl.MaxDuration <= 2147483648, "MaxDuration cannot be greater than 2**31");
287
+ return UAAlarmConditionImpl.MaxDuration;
288
+ }
289
+ const dataValue = this.maxTimeShelved.readValue();
290
+ assert(dataValue.value.dataType === DataType.Double); // Double <= Duration
291
+ return dataValue.value.value;
292
+ }
293
+
294
+ /**
295
+ * @method getInputNodeNode
296
+ * @return {BaseNode} return the node in the address space pointed by the inputNode value
297
+ *
298
+ * Note: please note the difference between alarm.inputNode
299
+ * * alarm.inputNode is a UAVariable property of the alarm object holding the nodeid of the input
300
+ * node in its value.
301
+ * * getInputNodeNode() is the UAVariable that contains the value that affects the state of the alarm and
302
+ * whose node id is stored in alarm.inputNode
303
+ */
304
+ public getInputNodeNode(): UAVariable | null {
305
+ const nodeId = this.inputNode.readValue().value.value;
306
+ assert(nodeId instanceof NodeId || nodeId === null);
307
+ return this.addressSpace.findNode(nodeId) as UAVariable | null;
308
+ }
309
+ /**
310
+ * @method getInputNodeValue
311
+ * @return {*}
312
+ */
313
+ public getInputNodeValue(): any | null {
314
+ const node = this.getInputNodeNode();
315
+ if (!node) {
316
+ return null;
317
+ }
318
+ assert(node.nodeClass === NodeClass.Variable);
319
+ return node.readValue().value.value;
320
+ }
321
+
322
+ public updateState(): void {
323
+ const node = this.getInputNodeNode() as UAVariable;
324
+ const dataValue = node.readValue();
325
+ this._onInputDataValueChange(dataValue);
326
+ }
327
+
328
+ public _onInputDataValueChange(newValue: DataValue): void {
329
+ // xx console.log("class=",this.constructor.name,this.browseName.toString());
330
+ // xx throw new Error("_onInputDataValueChange must be overridden");
331
+ }
332
+
333
+ /**
334
+ * @method installInputNodeMonitoring
335
+ * install mechanism that listen to input node datavalue changes so that alarm status
336
+ * can be automatically updated appropriatly.
337
+ * @param inputNode {BaseNode}
338
+ * @return {void}
339
+ * @protected
340
+ */
341
+ public installInputNodeMonitoring(inputNode: BaseNode | NodeId): void {
342
+ /**
343
+ *
344
+ * The InputNode Property provides the NodeId of the Variable the Value of which is used as
345
+ * primary input in the calculation of the Alarm state. If this Variable is not in the Address Space,
346
+ * a Null NodeId shall be provided. In some systems, an Alarm may be calculated based on
347
+ * multiple Variables Values; it is up to the system to determine which Variable’s NodeId is used.
348
+ * dataType is DataType.NodeId
349
+ * @property inputNode
350
+ * @type UAVariable
351
+ */
352
+ assert(this.inputNode.nodeClass === NodeClass.Variable);
353
+
354
+ const addressSpace = this.addressSpace as AddressSpacePrivate;
355
+ assert(inputNode, " must provide options.inputNode (NodeId or BaseNode object)");
356
+
357
+ if (inputNode instanceof NodeId) {
358
+ this.inputNode.setValueFromSource({
359
+ dataType: DataType.NodeId,
360
+ value: inputNode as NodeId
361
+ });
362
+ } else {
363
+ this.inputNode.setValueFromSource({
364
+ dataType: "NodeId",
365
+ value: (inputNode as BaseNode).nodeId
366
+ });
367
+
368
+ const _node = addressSpace._coerceNode(inputNode);
369
+ if (_node === null) {
370
+ // tslint:disable-next-line:no-console
371
+ console.log(" cannot find nodeId ", inputNode);
372
+ } else {
373
+ assert(_node, "Expecting a valid input node");
374
+ this.inputNode.setValueFromSource({
375
+ dataType: DataType.NodeId,
376
+ value: _node.nodeId
377
+ });
378
+ }
379
+
380
+ const inputNode2 = this.getInputNodeNode();
381
+ if (!inputNode2 || inputNode2 === null) {
382
+ throw new Error("Invalid input node");
383
+ }
384
+ inputNode2.on("value_changed", (newDataValue: DataValue /*, oldDataValue */) => {
385
+ if (!this.getEnabledState()) {
386
+ // disabled alarms shall ignored input node value change event
387
+ // (alarm shall be reevaluated when EnabledState goes back to true)
388
+ return;
389
+ }
390
+ this._onInputDataValueChange(newDataValue);
391
+ });
392
+ }
393
+ }
394
+
395
+ public getCurrentConditionInfo(): ConditionInfo {
396
+ const oldSeverity = this.currentBranch().getSeverity();
397
+ const oldQuality = this.currentBranch().getQuality();
398
+ const oldMessage = this.currentBranch().getMessage();
399
+ const oldRetain = this.currentBranch().getRetain();
400
+
401
+ const oldConditionInfo = new ConditionInfo({
402
+ message: oldMessage,
403
+ quality: oldQuality,
404
+ retain: oldRetain,
405
+ severity: oldSeverity
406
+ });
407
+ return oldConditionInfo;
408
+ }
409
+
410
+ /***
411
+ * @method _calculateConditionInfo
412
+ * @param stateData {Object} the new calculated state of the alarm
413
+ * @param isActive {Boolean}
414
+ * @param value {Number} the new value of the limit alarm
415
+ * @param oldCondition {ConditionInfo} given for information purpose
416
+ * @param oldCondition.severity
417
+ * @param oldCondition.quality
418
+ * @param oldCondition.message
419
+ * @param oldCondition.retain
420
+ * @return {ConditionInfo} the new condition info
421
+ *
422
+ * this method need to be overridden by the instantiate to allow custom message and severity
423
+ * to be set based on specific context of the alarm.
424
+ *
425
+ * @example
426
+ *
427
+ *
428
+ * var myAlarm = addressSpace.instantiateExclusiveLimitAlarm({...});
429
+ * myAlarm._calculateConditionInfo = function(stateName,value,oldCondition) {
430
+ * var percent = Math.ceil(value * 100);
431
+ * return new ConditionInfo({
432
+ * message: "Tank is almost " + percent + "% full",
433
+ * severity: 100,
434
+ * quality: StatusCodes.Good
435
+ * });
436
+ * };
437
+ *
438
+ */
439
+ public _calculateConditionInfo(
440
+ stateData: string | null,
441
+ isActive: boolean,
442
+ value: string,
443
+ oldCondition: ConditionInfo
444
+ ): ConditionInfo {
445
+ if (!stateData) {
446
+ return new ConditionInfo({
447
+ message: "Back to normal",
448
+ quality: StatusCodes.Good,
449
+ retain: true,
450
+ severity: 0
451
+ });
452
+ } else {
453
+ return new ConditionInfo({
454
+ message: "Condition value is " + value + " and state is " + stateData,
455
+ quality: StatusCodes.Good,
456
+ retain: true,
457
+ severity: 150
458
+ });
459
+ }
460
+ }
461
+
462
+ public _signalInitialCondition(): void {
463
+ this.currentBranch().setActiveState(false);
464
+ this.currentBranch().setAckedState(true);
465
+ }
466
+ public _signalNewCondition(stateName: string | null, isActive?: boolean, value?: string): void {
467
+ // xx if(stateName === null) {
468
+ // xx alarm.currentBranch().setActiveState(false);
469
+ // xx alarm.currentBranch().setAckedState(true);
470
+ // xx return;
471
+ // xx }
472
+ // disabled alarm shall not generate new condition events
473
+ assert(this.getEnabledState() === true);
474
+ // xx assert(isActive !== alarm.activeState.getValue());
475
+
476
+ const oldConditionInfo = this.getCurrentConditionInfo();
477
+ const newConditionInfo = this._calculateConditionInfo(stateName, !!isActive, value!, oldConditionInfo);
478
+
479
+ // detect potential internal bugs due to misused of _signalNewCondition
480
+ if (isEqual(oldConditionInfo, newConditionInfo)) {
481
+ // tslint:disable-next-line:no-console
482
+ console.log(oldConditionInfo);
483
+ throw new Error(
484
+ "condition values have not change, shall we really raise an event ? alarm " + this.browseName.toString()
485
+ );
486
+ }
487
+ assert(!isEqual(oldConditionInfo, newConditionInfo), "condition values have not change, shall we really raise an event ?");
488
+
489
+ if (isActive) {
490
+ this.currentBranch().setActiveState(true);
491
+ this.currentBranch().setAckedState(false);
492
+ this.raiseNewCondition(newConditionInfo);
493
+ } else {
494
+ if (this.currentBranch().getAckedState() === false) {
495
+ // prior state need acknowledgement
496
+ // note : TODO : timestamp of branch and new state of current branch must be identical
497
+
498
+ if (this.currentBranch().getRetain()) {
499
+ // we need to create a new branch so the previous state could be acknowledged
500
+ const newBranch = this.createBranch();
501
+ assert(newBranch.getBranchId() !== NodeId.nullNodeId);
502
+ // also raised a new Event for the new branch as branchId has changed
503
+ this.raiseNewBranchState(newBranch);
504
+ }
505
+ }
506
+
507
+ this.currentBranch().setActiveState(false);
508
+ this.currentBranch().setAckedState(true);
509
+
510
+ this.raiseNewCondition(newConditionInfo);
511
+ }
512
+ }
513
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @module node-opcua-address-space.AlarmsAndConditions
3
+ */
4
+ import { assert } from "node-opcua-assert";
5
+ import { NodeId } from "node-opcua-nodeid";
6
+ import { DataType, Variant } from "node-opcua-variant";
7
+ import { BaseNode} from "node-opcua-address-space-base";
8
+ import { UABaseEvent_Base, UABaseEvent } from "node-opcua-nodeset-ua";
9
+
10
+ import { UAObjectImpl } from "../ua_object_impl";
11
+
12
+
13
+ export interface UABaseEventHelper {
14
+ setSourceName(name: string): void;
15
+ setSourceNode(node: NodeId | BaseNode): void;
16
+ }
17
+ export interface UABaseEventEx extends UABaseEvent_Base , UABaseEventHelper {
18
+ }
19
+ export declare interface UABaseEventImpl extends UABaseEventEx {
20
+ }
21
+
22
+ /**
23
+ * @class BaseEventType
24
+ * @class UAObject
25
+ * @constructor
26
+ */
27
+ export class UABaseEventImpl extends UAObjectImpl implements UABaseEventEx {
28
+
29
+ /**
30
+ * @method setSourceName
31
+ * @param name
32
+ */
33
+ public setSourceName(name: string): void {
34
+ assert(typeof name === "string");
35
+ this.sourceName.setValueFromSource(
36
+ new Variant({
37
+ dataType: DataType.String,
38
+ value: name
39
+ })
40
+ );
41
+ }
42
+
43
+ /**
44
+ * @method setSourceNode
45
+ * @param node {NodeId|UAObject}
46
+ */
47
+ public setSourceNode(node: NodeId | BaseNode): void {
48
+ this.sourceNode.setValueFromSource(
49
+ new Variant({
50
+ dataType: DataType.NodeId,
51
+ value: (node as any).nodeId ? (node as any).nodeId : node
52
+ })
53
+ );
54
+ }
55
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @module node-opcua-address-space.AlarmsAndConditions
3
+ */
4
+ import { DateTime } from "node-opcua-basic-types";
5
+ import { DataType } from "node-opcua-variant";
6
+ import { UACertificateExpirationAlarm, UACertificateExpirationAlarm_Base } from "node-opcua-nodeset-ua";
7
+ import { INamespace } from "node-opcua-address-space-base";
8
+ import { UASystemOffNormalAlarmImpl } from "./ua_system_off_normal_alarm_impl";
9
+
10
+ export interface UACertificateExpirationAlarmEx
11
+ extends Omit<
12
+ UACertificateExpirationAlarm_Base,
13
+ | "ackedState"
14
+ | "activeState"
15
+ | "confirmedState"
16
+ | "enabledState"
17
+ | "latchedState"
18
+ | "limitState"
19
+ | "outOfServiceState"
20
+ | "shelvingState"
21
+ | "silenceState"
22
+ | "suppressedState"
23
+ > {}
24
+ export declare interface UACertificateExpirationAlarmImpl extends UACertificateExpirationAlarmEx, UASystemOffNormalAlarmImpl {}
25
+ /**
26
+ * This UACertificateExpirationAlarm (SystemOffNormalAlarmType) is raised by the Server when the Server’s
27
+ * Certificate is within the ExpirationLimit
28
+ * of expiration. This alarm automatically returns to normal when the certificate is updated.
29
+ */
30
+ export class UACertificateExpirationAlarmImpl extends UASystemOffNormalAlarmImpl implements UACertificateExpirationAlarmEx {
31
+ public static instantiate(namespace: INamespace, options: any, data: any): UACertificateExpirationAlarmImpl {
32
+ return UASystemOffNormalAlarmImpl.instantiate(
33
+ namespace,
34
+ "CertificateExpirationAlarmType",
35
+ options,
36
+ data
37
+ ) as UACertificateExpirationAlarmImpl;
38
+ }
39
+
40
+ public getExpirationDate(): DateTime {
41
+ return this.expirationDate.readValue().value.value;
42
+ }
43
+
44
+ public setExpirationDate(value: Date): void {
45
+ return this.expirationDate.setValueFromSource({
46
+ dataType: DataType.DateTime,
47
+ value
48
+ });
49
+ }
50
+ }