node-opcua-address-space 2.71.0 → 2.72.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +34 -34
  8. package/dist/source/helpers/argument_list.js +285 -285
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -17
  12. package/dist/source/helpers/check_event_clause.js +52 -52
  13. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  14. package/dist/source/helpers/coerce_enum_value.js +33 -33
  15. package/dist/source/helpers/dump_tools.d.ts +14 -14
  16. package/dist/source/helpers/dump_tools.js +78 -78
  17. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  18. package/dist/source/helpers/ensure_secure_access.js +76 -76
  19. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  20. package/dist/source/helpers/make_optionals_map.js +29 -29
  21. package/dist/source/helpers/multiform_func.d.ts +11 -11
  22. package/dist/source/helpers/multiform_func.js +73 -73
  23. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  24. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  25. package/dist/source/index.d.ts +40 -40
  26. package/dist/source/index.js +66 -66
  27. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  29. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  30. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  31. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  32. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  33. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  34. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  35. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  36. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  37. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  38. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  39. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  40. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  41. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  42. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  43. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  44. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  45. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  46. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  47. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  48. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  49. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  50. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  51. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  52. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  53. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  54. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  55. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  56. package/dist/source/loader/load_nodeset2.js +1468 -1464
  57. package/dist/source/loader/load_nodeset2.js.map +1 -1
  58. package/dist/source/loader/make_semver_compatible.d.ts +6 -0
  59. package/dist/source/loader/make_semver_compatible.js +26 -0
  60. package/dist/source/loader/make_semver_compatible.js.map +1 -0
  61. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  62. package/dist/source/loader/make_xml_extension_object_parser.js +325 -315
  63. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
  64. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  65. package/dist/source/loader/namespace_post_step.js +47 -47
  66. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  67. package/dist/source/loader/register_node_promoter.js +9 -9
  68. package/dist/source/namespace.d.ts +6 -6
  69. package/dist/source/namespace.js +2 -2
  70. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  71. package/dist/source/namespace_alarm_and_condition.js +2 -2
  72. package/dist/source/namespace_data_access.d.ts +42 -42
  73. package/dist/source/namespace_data_access.js +2 -2
  74. package/dist/source/namespace_machine_state.d.ts +7 -7
  75. package/dist/source/namespace_machine_state.js +2 -2
  76. package/dist/source/pseudo_session.d.ts +55 -55
  77. package/dist/source/pseudo_session.js +203 -203
  78. package/dist/source/session_context.d.ts +111 -111
  79. package/dist/source/session_context.js +265 -265
  80. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  81. package/dist/source/set_namespace_meta_data.js +59 -59
  82. package/dist/source/ua_root_folder.d.ts +9 -9
  83. package/dist/source/ua_root_folder.js +2 -2
  84. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  85. package/dist/source/ua_two_state_variable_ex.js +2 -2
  86. package/dist/source/xml_writer.d.ts +9 -9
  87. package/dist/source/xml_writer.js +2 -2
  88. package/dist/src/address_space.d.ts +392 -392
  89. package/dist/src/address_space.js +1387 -1387
  90. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  91. package/dist/src/address_space_change_event_tools.js +149 -149
  92. package/dist/src/address_space_private.d.ts +43 -43
  93. package/dist/src/address_space_private.js +2 -2
  94. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  95. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  96. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  97. package/dist/src/alarms_and_conditions/condition.js +80 -80
  98. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  99. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  100. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  101. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  102. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  103. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  104. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  105. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  106. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  107. package/dist/src/alarms_and_conditions/index.js +34 -34
  108. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +64 -62
  109. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  110. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  111. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +124 -118
  112. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  113. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  114. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  115. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  116. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +36 -21
  117. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +115 -25
  118. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  119. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +187 -182
  120. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1024 -1022
  121. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  122. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +18 -17
  123. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  124. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  125. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +30 -27
  126. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  127. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  128. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -9
  129. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  130. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  131. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +40 -38
  132. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  133. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  134. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  135. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  136. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +105 -97
  137. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  138. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  139. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +29 -28
  140. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  141. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  142. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +26 -25
  143. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  144. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  145. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +48 -39
  146. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +161 -135
  147. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  148. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +17 -16
  149. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  150. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  151. package/dist/src/apply_condition_refresh.d.ts +6 -6
  152. package/dist/src/apply_condition_refresh.js +27 -27
  153. package/dist/src/base_node_impl.d.ts +281 -281
  154. package/dist/src/base_node_impl.js +1395 -1395
  155. package/dist/src/base_node_private.d.ts +61 -61
  156. package/dist/src/base_node_private.js +705 -705
  157. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  158. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  159. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  160. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  161. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  162. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  163. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  164. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  165. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  166. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  167. package/dist/src/event_data.d.ts +29 -29
  168. package/dist/src/event_data.js +95 -95
  169. package/dist/src/extension_object_array_node.d.ts +61 -61
  170. package/dist/src/extension_object_array_node.js +276 -276
  171. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  172. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  173. package/dist/src/index_current.d.ts +45 -45
  174. package/dist/src/index_current.js +77 -77
  175. package/dist/src/namespace_impl.d.ts +457 -457
  176. package/dist/src/namespace_impl.js +1733 -1733
  177. package/dist/src/namespace_private.d.ts +21 -21
  178. package/dist/src/namespace_private.js +32 -32
  179. package/dist/src/nodeid_manager.d.ts +36 -36
  180. package/dist/src/nodeid_manager.js +197 -197
  181. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  182. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  183. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  184. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  185. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  186. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  187. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  188. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  189. package/dist/src/reference_impl.d.ts +43 -43
  190. package/dist/src/reference_impl.js +139 -139
  191. package/dist/src/role_permissions.d.ts +2 -2
  192. package/dist/src/role_permissions.js +10 -10
  193. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  194. package/dist/src/state_machine/finite_state_machine.js +353 -353
  195. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  196. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  197. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  198. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  199. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  200. package/dist/src/tool_isSupertypeOf.js +108 -108
  201. package/dist/src/ua_condition_type.d.ts +8 -8
  202. package/dist/src/ua_condition_type.js +2 -2
  203. package/dist/src/ua_data_type_impl.d.ts +93 -93
  204. package/dist/src/ua_data_type_impl.js +368 -368
  205. package/dist/src/ua_method_impl.d.ts +41 -41
  206. package/dist/src/ua_method_impl.js +208 -208
  207. package/dist/src/ua_object_impl.d.ts +35 -33
  208. package/dist/src/ua_object_impl.js +162 -156
  209. package/dist/src/ua_object_impl.js.map +1 -1
  210. package/dist/src/ua_object_type_impl.d.ts +48 -48
  211. package/dist/src/ua_object_type_impl.js +124 -124
  212. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  213. package/dist/src/ua_reference_type_impl.js +139 -139
  214. package/dist/src/ua_variable_impl.d.ts +351 -351
  215. package/dist/src/ua_variable_impl.js +1604 -1604
  216. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  217. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  218. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  219. package/dist/src/ua_variable_type_impl.js +570 -570
  220. package/dist/src/ua_view_impl.d.ts +19 -15
  221. package/dist/src/ua_view_impl.js +43 -36
  222. package/dist/src/ua_view_impl.js.map +1 -1
  223. package/distHelpers/add_event_generator_object.d.ts +3 -3
  224. package/distHelpers/add_event_generator_object.js +65 -65
  225. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  226. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  227. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  228. package/distHelpers/assertHasMatchingReference.js +40 -40
  229. package/distHelpers/boiler_system.d.ts +113 -113
  230. package/distHelpers/boiler_system.js +395 -395
  231. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  232. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  233. package/distHelpers/date_utils.d.ts +3 -3
  234. package/distHelpers/date_utils.js +9 -9
  235. package/distHelpers/dump_statemachine.js +127 -127
  236. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  237. package/distHelpers/get_address_space_fixture.js +30 -30
  238. package/distHelpers/get_mini_address_space.d.ts +7 -7
  239. package/distHelpers/get_mini_address_space.js +36 -36
  240. package/distHelpers/index.d.ts +12 -12
  241. package/distHelpers/index.js +28 -28
  242. package/distHelpers/mock_session.d.ts +14 -14
  243. package/distHelpers/mock_session.js +25 -25
  244. package/distNodeJS/generate_address_space.d.ts +4 -4
  245. package/distNodeJS/generate_address_space.js +41 -41
  246. package/distNodeJS/index.d.ts +1 -1
  247. package/distNodeJS/index.js +17 -17
  248. package/package.json +23 -23
  249. package/source/loader/load_nodeset2.ts +21 -17
  250. package/source/loader/make_semver_compatible.ts +23 -0
  251. package/source/loader/make_xml_extension_object_parser.ts +16 -6
  252. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +13 -6
  253. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +15 -10
  254. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +126 -10
  255. package/src/alarms_and_conditions/ua_condition_impl.ts +26 -13
  256. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +10 -4
  257. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +7 -6
  258. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +5 -3
  259. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +7 -6
  260. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +1 -1
  261. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +23 -13
  262. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +6 -7
  263. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +6 -7
  264. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +62 -30
  265. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +5 -5
  266. package/src/ua_object_impl.ts +11 -3
  267. package/src/ua_view_impl.ts +6 -4
  268. package/test_helpers/test_fixtures/dataType_issue.xml +9 -9
  269. package/test_helpers/test_fixtures/nodeset_with_guid.xml +1442 -0
  270. package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +31 -0
  271. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +0 -23
  272. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +0 -3
  273. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +0 -1
  274. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +0 -6
  275. package/dist/source/interfaces/data_access/ua_discrete_item.js +0 -3
  276. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +0 -1
  277. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +0 -25
  278. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +0 -3
  279. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +0 -1
  280. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +0 -27
  281. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +0 -3
  282. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +0 -1
  283. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +0 -17
  284. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +0 -3
  285. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +0 -1
  286. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +0 -19
  287. package/dist/source/interfaces/data_access/ua_y_array_item.js +0 -3
  288. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +0 -1
  289. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +0 -11
  290. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +0 -3
  291. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +0 -1
  292. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +0 -70
  293. package/dist/source/interfaces/state_machine/finite_state_machine.js +0 -3
  294. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +0 -1
  295. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +0 -74
  296. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +0 -3
  297. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +0 -1
  298. package/dist/source/interfaces/state_machine/state_machine.d.ts +0 -342
  299. package/dist/source/interfaces/state_machine/state_machine.js +0 -3
  300. package/dist/source/interfaces/state_machine/state_machine.js.map +0 -1
  301. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +0 -18
  302. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +0 -3
  303. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +0 -1
  304. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +0 -29
  305. package/dist/source/interfaces/state_machine/ua_state_variable.js +0 -3
  306. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +0 -1
  307. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +0 -26
  308. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +0 -3
  309. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +0 -1
  310. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +0 -41
  311. package/dist/source/interfaces/subscription_diagnostics_variable.js +0 -3
  312. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +0 -1
  313. package/dist/src/alarms_and_conditions/base_event_type.d.ts +0 -26
  314. package/dist/src/alarms_and_conditions/base_event_type.js +0 -41
  315. package/dist/src/alarms_and_conditions/base_event_type.js.map +0 -1
  316. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +0 -22
  317. package/dist/src/alarms_and_conditions/shelving_state_machine.js +0 -241
  318. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +0 -1
  319. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +0 -16
  320. package/dist/src/alarms_and_conditions/trip_alarm.js +0 -21
  321. package/dist/src/alarms_and_conditions/trip_alarm.js.map +0 -1
  322. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +0 -54
  323. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +0 -255
  324. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +0 -1
  325. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +0 -138
  326. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +0 -460
  327. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +0 -1
  328. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +0 -35
  329. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +0 -32
  330. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +0 -1
  331. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +0 -191
  332. package/dist/src/alarms_and_conditions/ua_condition_base.js +0 -1029
  333. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +0 -1
  334. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +0 -11
  335. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +0 -58
  336. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +0 -1
  337. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +0 -24
  338. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +0 -59
  339. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +0 -1
  340. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +0 -14
  341. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +0 -17
  342. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +0 -1
  343. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +0 -22
  344. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +0 -87
  345. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +0 -1
  346. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +0 -6
  347. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +0 -11
  348. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +0 -1
  349. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +0 -76
  350. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +0 -237
  351. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +0 -1
  352. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +0 -27
  353. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +0 -62
  354. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +0 -1
  355. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +0 -49
  356. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +0 -176
  357. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +0 -1
  358. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +0 -47
  359. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +0 -151
  360. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +0 -1
  361. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +0 -16
  362. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +0 -18
  363. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +0 -1
  364. package/dist/src/base_node.d.ts +0 -270
  365. package/dist/src/base_node.js +0 -1299
  366. package/dist/src/base_node.js.map +0 -1
  367. package/dist/src/data_access/ua_analog_item.d.ts +0 -13
  368. package/dist/src/data_access/ua_analog_item.js +0 -37
  369. package/dist/src/data_access/ua_analog_item.js.map +0 -1
  370. package/dist/src/data_access/ua_data_item.d.ts +0 -16
  371. package/dist/src/data_access/ua_data_item.js +0 -66
  372. package/dist/src/data_access/ua_data_item.js.map +0 -1
  373. package/dist/src/data_access/ua_multistate_discrete.d.ts +0 -24
  374. package/dist/src/data_access/ua_multistate_discrete.js +0 -132
  375. package/dist/src/data_access/ua_multistate_discrete.js.map +0 -1
  376. package/dist/src/namespace.d.ts +0 -472
  377. package/dist/src/namespace.js +0 -1759
  378. package/dist/src/namespace.js.map +0 -1
  379. package/dist/src/reference.d.ts +0 -43
  380. package/dist/src/reference.js +0 -138
  381. package/dist/src/reference.js.map +0 -1
  382. package/dist/src/session_context.d.ts +0 -4
  383. package/dist/src/session_context.js +0 -9
  384. package/dist/src/session_context.js.map +0 -1
  385. package/dist/src/ua_data_type.d.ts +0 -81
  386. package/dist/src/ua_data_type.js +0 -259
  387. package/dist/src/ua_data_type.js.map +0 -1
  388. package/dist/src/ua_method.d.ts +0 -33
  389. package/dist/src/ua_method.js +0 -194
  390. package/dist/src/ua_method.js.map +0 -1
  391. package/dist/src/ua_object.d.ts +0 -27
  392. package/dist/src/ua_object.js +0 -153
  393. package/dist/src/ua_object.js.map +0 -1
  394. package/dist/src/ua_object_type.d.ts +0 -49
  395. package/dist/src/ua_object_type.js +0 -123
  396. package/dist/src/ua_object_type.js.map +0 -1
  397. package/dist/src/ua_reference_type.d.ts +0 -31
  398. package/dist/src/ua_reference_type.js +0 -108
  399. package/dist/src/ua_reference_type.js.map +0 -1
  400. package/dist/src/ua_variable.d.ts +0 -346
  401. package/dist/src/ua_variable.js +0 -1651
  402. package/dist/src/ua_variable.js.map +0 -1
  403. package/dist/src/ua_variable_type.d.ts +0 -57
  404. package/dist/src/ua_variable_type.js +0 -530
  405. package/dist/src/ua_variable_type.js.map +0 -1
  406. package/dist/src/ua_view.d.ts +0 -16
  407. package/dist/src/ua_view.js +0 -41
  408. package/dist/src/ua_view.js.map +0 -1
@@ -1,34 +1,34 @@
1
- /**
2
- * @module node-opcua-address-space.AlarmsAndConditions
3
- */
4
- /// <reference types="node" />
5
- import { DataType } from "node-opcua-variant";
6
- import { UAProperty, UAMethod, UAObject } from "node-opcua-address-space-base";
7
- import { UAShelvedStateMachine_Base, UAState } from "node-opcua-nodeset-ua";
8
- import { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
9
- import { UAStateMachineImpl } from "./finite_state_machine";
10
- export interface UAShelvedStateMachineHelper {
11
- _timer: NodeJS.Timer | null;
12
- _sheveldTime: Date;
13
- _unshelvedTime: Date;
14
- _duration: number;
15
- }
16
- export interface UAShelvedStateMachineEx extends Omit<UAShelvedStateMachine_Base, "oneShotShelvedToUnshelved" | "unshelvedToTimedShelved" | "unshelvedToOneShotShelved" | "timedShelvedToUnshelved" | "timedShelvedToOneShotShelved" | "oneShotShelvedToTimedShelved">, UAShelvedStateMachineHelper {
17
- unshelveTime: UAProperty<number, DataType.Double>;
18
- unshelved: UAState;
19
- timedShelved: UAState;
20
- oneShotShelved: UAState;
21
- unshelvedToTimedShelved: UATransitionEx;
22
- unshelvedToOneShotShelved: UATransitionEx;
23
- timedShelvedToUnshelved: UATransitionEx;
24
- timedShelvedToOneShotShelved: UATransitionEx;
25
- oneShotShelvedToUnshelved: UATransitionEx;
26
- oneShotShelvedToTimedShelved: UATransitionEx;
27
- timedShelve: UAMethod;
28
- unshelve: UAMethod;
29
- oneShotShelve: UAMethod;
30
- }
31
- export declare class UAShelvedStateMachineEx extends UAStateMachineImpl implements UAShelvedStateMachineEx {
32
- static promote(object: UAObject): UAShelvedStateMachineEx;
33
- }
34
- export declare function _clear_timer_if_any(shelvingState: UAShelvedStateMachineEx): void;
1
+ /**
2
+ * @module node-opcua-address-space.AlarmsAndConditions
3
+ */
4
+ /// <reference types="node" />
5
+ import { DataType } from "node-opcua-variant";
6
+ import { UAProperty, UAMethod, UAObject } from "node-opcua-address-space-base";
7
+ import { UAShelvedStateMachine_Base, UAState } from "node-opcua-nodeset-ua";
8
+ import { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
9
+ import { UAStateMachineImpl } from "./finite_state_machine";
10
+ export interface UAShelvedStateMachineHelper {
11
+ _timer: NodeJS.Timer | null;
12
+ _sheveldTime: Date;
13
+ _unshelvedTime: Date;
14
+ _duration: number;
15
+ }
16
+ export interface UAShelvedStateMachineEx extends Omit<UAShelvedStateMachine_Base, "oneShotShelvedToUnshelved" | "unshelvedToTimedShelved" | "unshelvedToOneShotShelved" | "timedShelvedToUnshelved" | "timedShelvedToOneShotShelved" | "oneShotShelvedToTimedShelved">, UAShelvedStateMachineHelper {
17
+ unshelveTime: UAProperty<number, DataType.Double>;
18
+ unshelved: UAState;
19
+ timedShelved: UAState;
20
+ oneShotShelved: UAState;
21
+ unshelvedToTimedShelved: UATransitionEx;
22
+ unshelvedToOneShotShelved: UATransitionEx;
23
+ timedShelvedToUnshelved: UATransitionEx;
24
+ timedShelvedToOneShotShelved: UATransitionEx;
25
+ oneShotShelvedToUnshelved: UATransitionEx;
26
+ oneShotShelvedToTimedShelved: UATransitionEx;
27
+ timedShelve: UAMethod;
28
+ unshelve: UAMethod;
29
+ oneShotShelve: UAMethod;
30
+ }
31
+ export declare class UAShelvedStateMachineEx extends UAStateMachineImpl implements UAShelvedStateMachineEx {
32
+ static promote(object: UAObject): UAShelvedStateMachineEx;
33
+ }
34
+ export declare function _clear_timer_if_any(shelvingState: UAShelvedStateMachineEx): void;
@@ -1,251 +1,251 @@
1
- "use strict";
2
- /**
3
- * @module node-opcua-address-space.AlarmsAndConditions
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._clear_timer_if_any = exports.UAShelvedStateMachineEx = void 0;
7
- // --------------------------------------------------------------------------------------------------
8
- // ShelvingStateMachine
9
- // --------------------------------------------------------------------------------------------------
10
- const node_opcua_assert_1 = require("node-opcua-assert");
11
- const node_opcua_status_code_1 = require("node-opcua-status-code");
12
- const node_opcua_variant_1 = require("node-opcua-variant");
13
- const node_opcua_debug_1 = require("node-opcua-debug");
14
- const node_opcua_data_value_1 = require("node-opcua-data-value");
15
- const ua_alarm_condition_impl_1 = require("../alarms_and_conditions/ua_alarm_condition_impl");
16
- const finite_state_machine_1 = require("./finite_state_machine");
17
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
18
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
19
- class UAShelvedStateMachineEx extends finite_state_machine_1.UAStateMachineImpl {
20
- static promote(object) {
21
- const shelvingState = object;
22
- (0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
23
- Object.setPrototypeOf(shelvingState, UAShelvedStateMachineEx.prototype);
24
- shelvingState._timer = null;
25
- if (shelvingState.unshelve) {
26
- shelvingState.unshelve.bindMethod(_unshelve_method);
27
- }
28
- if (shelvingState.timedShelve) {
29
- shelvingState.timedShelve.bindMethod(_timedShelve_method);
30
- }
31
- if (shelvingState.oneShotShelve) {
32
- shelvingState.oneShotShelve.bindMethod(_oneShotShelve_method);
33
- }
34
- // install unshelveTime
35
- if (shelvingState.unshelveTime) {
36
- shelvingState.unshelveTime.minimumSamplingInterval = 500;
37
- shelvingState.unshelveTime.bindVariable({
38
- timestamped_get: _unShelveTimeFunc.bind(null, shelvingState)
39
- }, true);
40
- }
41
- (0, node_opcua_assert_1.assert)(shelvingState instanceof UAShelvedStateMachineEx);
42
- return shelvingState;
43
- }
44
- }
45
- exports.UAShelvedStateMachineEx = UAShelvedStateMachineEx;
46
- // The Unshelve Method sets the AlarmCondition to the Unshelved state. Normally, the MethodId found
47
- // the Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId
48
- // are passed to the Call Service. However, some Servers do not expose Condition instances in the
49
- // IAddressSpace. Therefore all Servers shall also allow Clients to call the Unshelve Method by
50
- // specifying ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the
51
- // ShelvedStateMachineType Node.
52
- // output => BadConditionNotShelved
53
- function _unshelve_method(inputArguments, context, callback) {
54
- (0, node_opcua_assert_1.assert)(inputArguments.length === 0);
55
- // var alarmNode = context.object.parent;
56
- // if (!(alarmNode instanceof UAAlarmConditionImpl)) {
57
- // return callback(null, {statusCode: StatusCodes.BadNodeIdInvalid});
58
- // }
59
- //
60
- // if (!alarmNode.getEnabledState() ) {
61
- // return callback(null, {statusCode: StatusCodes.BadConditionDisabled});
62
- // }
63
- const shelvingState = context.object;
64
- (0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
65
- if (shelvingState.getCurrentState() === "Unshelved") {
66
- return callback(null, {
67
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved
68
- });
69
- }
70
- shelvingState.setState("Unshelved");
71
- shelvingState._unsheveldTime = new Date(); // now
72
- _clear_timer_if_any(shelvingState);
73
- (0, node_opcua_assert_1.assert)(!shelvingState._timer);
74
- return callback(null, {
75
- statusCode: node_opcua_status_code_1.StatusCodes.Good
76
- });
77
- }
78
- function _clear_timer_if_any(shelvingState) {
79
- if (shelvingState._timer) {
80
- clearTimeout(shelvingState._timer);
81
- // xx console.log("_clear_timer_if_any shelvingState = ",shelvingState._timer,shelvingState.constructor.name);
82
- shelvingState._timer = null;
83
- }
84
- }
85
- exports._clear_timer_if_any = _clear_timer_if_any;
86
- function _automatically_unshelve(shelvingState) {
87
- (0, node_opcua_assert_1.assert)(shelvingState._timer, "expecting timerId to be set");
88
- shelvingState._timer = null;
89
- if (doDebug) {
90
- debugLog("Automatically unshelving variable ", shelvingState.browseName.toString());
91
- }
92
- if (shelvingState.getCurrentState() === "Unshelved") {
93
- // just ignore !!!
94
- return;
95
- // throw new Error(StatusCodes.BadConditionNotShelved);
96
- }
97
- shelvingState.setState("Unshelved");
98
- shelvingState._unshelvedTime = new Date(); // now
99
- (0, node_opcua_assert_1.assert)(!shelvingState._timer);
100
- }
101
- function _start_timer_for_automatic_unshelve(shelvingState, duration) {
102
- if (duration < 10 || duration >= Math.pow(2, 31)) {
103
- throw new Error(" Invalid maxTimeShelved duration: " + duration + " must be [10,2**31] ");
104
- }
105
- (0, node_opcua_assert_1.assert)(!shelvingState._timer);
106
- shelvingState._sheveldTime = new Date(); // now
107
- shelvingState._duration = duration;
108
- if (doDebug) {
109
- debugLog("shelvingState._duration", shelvingState._duration);
110
- }
111
- if (duration !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
112
- (0, node_opcua_assert_1.assert)(!shelvingState._timer);
113
- shelvingState._timer = setTimeout(_automatically_unshelve.bind(null, shelvingState), shelvingState._duration);
114
- }
115
- }
116
- // Spec 1.03:
117
- // The TimedShelve Method sets the AlarmCondition to the TimedShelved state
118
- // (parameters are defined in Table 38 and result codes are described in Table 39).
119
- // Normally, the MethodId found in the Shelving child of the Condition instance and the NodeId of the Shelving object
120
- // as the ObjectId are passed to the Call Service. However, some Servers do not expose Condition instances in the
121
- // IAddressSpace. Therefore all Servers shall also allow Clients to call the TimedShelve Method by specifying
122
- // ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the ShelvedStateMachineType Node.
123
- //
124
- // Signature: TimedShelve([in] Duration ShelvingTime);
125
- //
126
- // ShelvingTime Specifies a fixed time for which the Alarm is to be shelved. The Server may refuse
127
- // the provided duration.
128
- // If a MaxTimeShelved Property exist on the Alarm than the Shelving time shall be less than or equal
129
- // to the value of this Property.
130
- // StatusCode :
131
- // BadConditionAlreadyShelved The Alarm is already in TimedShelved state and the system does not allow
132
- // a reset of the shelved timer.
133
- // BadShelvingTimeOutOfRange
134
- function _timedShelve_method(inputArguments, context, callback) {
135
- (0, node_opcua_assert_1.assert)(inputArguments.length === 1);
136
- if (!context.object) {
137
- return;
138
- }
139
- const shelvingState = context.object;
140
- if (shelvingState.getCurrentState() !== "Unshelved") {
141
- return callback(null, {
142
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
143
- });
144
- }
145
- // checking duration ...
146
- const alarmNode = shelvingState.parent;
147
- // istanbul ignore next
148
- if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
149
- return callback(null, {
150
- statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
151
- });
152
- }
153
- const maxTimeShelved = alarmNode.getMaxTimeShelved();
154
- (0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
155
- (0, node_opcua_assert_1.assert)(inputArguments[0].dataType === node_opcua_variant_1.DataType.Double); // Duration
156
- (0, node_opcua_assert_1.assert)(inputArguments[0] instanceof node_opcua_variant_1.Variant);
157
- // xx console.log("inputArguments",inputArguments[0].toString());
158
- const proposedDuration = inputArguments[0].value; // as double (milliseconds)
159
- if (proposedDuration > maxTimeShelved) {
160
- return callback(null, {
161
- statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
162
- });
163
- }
164
- if (proposedDuration < 0) {
165
- return callback(null, {
166
- statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
167
- });
168
- }
169
- _clear_timer_if_any(shelvingState);
170
- shelvingState.setState("TimedShelved");
171
- _start_timer_for_automatic_unshelve(shelvingState, proposedDuration);
172
- return callback(null, {
173
- statusCode: node_opcua_status_code_1.StatusCodes.Good
174
- });
175
- }
176
- // Spec 1.03:
177
- // OneShotShelve Method
178
- // The OneShotShelve Method sets the AlarmCondition to the OneShotShelved state. Normally, the MethodId found in the
179
- // Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId are passed to the
180
- // Call Service. However, some Servers do not expose Condition instances in the IAddressSpace. Therefore all Servers
181
- // shall also allow Clients to call the OneShotShelve Method by specifying ConditionId as the ObjectId. The Method
182
- // cannot be called with an ObjectId of the ShelvedStateMachineType Node
183
- function _oneShotShelve_method(inputArguments, context, callback) {
184
- (0, node_opcua_assert_1.assert)(inputArguments.length === 0);
185
- const shelvingState = context.object;
186
- if (shelvingState.getCurrentState() === "OneShotShelved") {
187
- return callback(null, {
188
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
189
- });
190
- }
191
- // checking duration ...
192
- const alarmNode = shelvingState.parent;
193
- // istanbul ignore next
194
- if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
195
- return callback(null, {
196
- statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
197
- });
198
- }
199
- const maxTimeShelved = alarmNode.getMaxTimeShelved();
200
- (0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
201
- (0, node_opcua_assert_1.assert)(maxTimeShelved !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration);
202
- // set automatic unshelving timer
203
- _clear_timer_if_any(shelvingState);
204
- shelvingState.setState("OneShotShelved");
205
- _start_timer_for_automatic_unshelve(shelvingState, maxTimeShelved);
206
- return callback(null, {
207
- statusCode: node_opcua_status_code_1.StatusCodes.Good
208
- });
209
- }
210
- // from spec 1.03 :
211
- // * UnshelveTime specifies the remaining time in milliseconds until the Alarm automatically
212
- // transitions into the Un-shelved state.
213
- // * For the TimedShelved state this time is initialised with the ShelvingTime argument of the
214
- // TimedShelve Method call.
215
- // * For the OneShotShelved state the UnshelveTime will be a constant set to the maximum Duration
216
- // except if a MaxTimeShelved Property is provided.
217
- function _unShelveTimeFunc(shelvingState) {
218
- if (shelvingState.getCurrentState() === "Unshelved") {
219
- return new node_opcua_data_value_1.DataValue({
220
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
221
- value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
222
- });
223
- }
224
- if (!shelvingState._sheveldTime) {
225
- return new node_opcua_data_value_1.DataValue({
226
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
227
- value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
228
- });
229
- }
230
- if (shelvingState.getCurrentState() === "OneShotShelved" && shelvingState._duration === ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
231
- return new node_opcua_data_value_1.DataValue({
232
- statusCode: node_opcua_status_code_1.StatusCodes.Good,
233
- value: {
234
- dataType: node_opcua_variant_1.DataType.Double,
235
- value: ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration
236
- }
237
- });
238
- }
239
- const now = new Date();
240
- let timeToAutomaticUnshelvedState = shelvingState._duration - (now.getTime() - shelvingState._sheveldTime.getTime());
241
- // timeToAutomaticUnshelvedState should always be greater than (or equal) zero
242
- timeToAutomaticUnshelvedState = Math.max(timeToAutomaticUnshelvedState, 0);
243
- return new node_opcua_data_value_1.DataValue({
244
- statusCode: node_opcua_status_code_1.StatusCodes.Good,
245
- value: {
246
- dataType: node_opcua_variant_1.DataType.Double,
247
- value: timeToAutomaticUnshelvedState
248
- }
249
- });
250
- }
1
+ "use strict";
2
+ /**
3
+ * @module node-opcua-address-space.AlarmsAndConditions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports._clear_timer_if_any = exports.UAShelvedStateMachineEx = void 0;
7
+ // --------------------------------------------------------------------------------------------------
8
+ // ShelvingStateMachine
9
+ // --------------------------------------------------------------------------------------------------
10
+ const node_opcua_assert_1 = require("node-opcua-assert");
11
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
12
+ const node_opcua_variant_1 = require("node-opcua-variant");
13
+ const node_opcua_debug_1 = require("node-opcua-debug");
14
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
15
+ const ua_alarm_condition_impl_1 = require("../alarms_and_conditions/ua_alarm_condition_impl");
16
+ const finite_state_machine_1 = require("./finite_state_machine");
17
+ const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
18
+ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
19
+ class UAShelvedStateMachineEx extends finite_state_machine_1.UAStateMachineImpl {
20
+ static promote(object) {
21
+ const shelvingState = object;
22
+ (0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
23
+ Object.setPrototypeOf(shelvingState, UAShelvedStateMachineEx.prototype);
24
+ shelvingState._timer = null;
25
+ if (shelvingState.unshelve) {
26
+ shelvingState.unshelve.bindMethod(_unshelve_method);
27
+ }
28
+ if (shelvingState.timedShelve) {
29
+ shelvingState.timedShelve.bindMethod(_timedShelve_method);
30
+ }
31
+ if (shelvingState.oneShotShelve) {
32
+ shelvingState.oneShotShelve.bindMethod(_oneShotShelve_method);
33
+ }
34
+ // install unshelveTime
35
+ if (shelvingState.unshelveTime) {
36
+ shelvingState.unshelveTime.minimumSamplingInterval = 500;
37
+ shelvingState.unshelveTime.bindVariable({
38
+ timestamped_get: _unShelveTimeFunc.bind(null, shelvingState)
39
+ }, true);
40
+ }
41
+ (0, node_opcua_assert_1.assert)(shelvingState instanceof UAShelvedStateMachineEx);
42
+ return shelvingState;
43
+ }
44
+ }
45
+ exports.UAShelvedStateMachineEx = UAShelvedStateMachineEx;
46
+ // The Unshelve Method sets the AlarmCondition to the Unshelved state. Normally, the MethodId found
47
+ // the Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId
48
+ // are passed to the Call Service. However, some Servers do not expose Condition instances in the
49
+ // IAddressSpace. Therefore all Servers shall also allow Clients to call the Unshelve Method by
50
+ // specifying ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the
51
+ // ShelvedStateMachineType Node.
52
+ // output => BadConditionNotShelved
53
+ function _unshelve_method(inputArguments, context, callback) {
54
+ (0, node_opcua_assert_1.assert)(inputArguments.length === 0);
55
+ // var alarmNode = context.object.parent;
56
+ // if (!(alarmNode instanceof UAAlarmConditionImpl)) {
57
+ // return callback(null, {statusCode: StatusCodes.BadNodeIdInvalid});
58
+ // }
59
+ //
60
+ // if (!alarmNode.getEnabledState() ) {
61
+ // return callback(null, {statusCode: StatusCodes.BadConditionDisabled});
62
+ // }
63
+ const shelvingState = context.object;
64
+ (0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
65
+ if (shelvingState.getCurrentState() === "Unshelved") {
66
+ return callback(null, {
67
+ statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved
68
+ });
69
+ }
70
+ shelvingState.setState("Unshelved");
71
+ shelvingState._unsheveldTime = new Date(); // now
72
+ _clear_timer_if_any(shelvingState);
73
+ (0, node_opcua_assert_1.assert)(!shelvingState._timer);
74
+ return callback(null, {
75
+ statusCode: node_opcua_status_code_1.StatusCodes.Good
76
+ });
77
+ }
78
+ function _clear_timer_if_any(shelvingState) {
79
+ if (shelvingState._timer) {
80
+ clearTimeout(shelvingState._timer);
81
+ // xx console.log("_clear_timer_if_any shelvingState = ",shelvingState._timer,shelvingState.constructor.name);
82
+ shelvingState._timer = null;
83
+ }
84
+ }
85
+ exports._clear_timer_if_any = _clear_timer_if_any;
86
+ function _automatically_unshelve(shelvingState) {
87
+ (0, node_opcua_assert_1.assert)(shelvingState._timer, "expecting timerId to be set");
88
+ shelvingState._timer = null;
89
+ if (doDebug) {
90
+ debugLog("Automatically unshelving variable ", shelvingState.browseName.toString());
91
+ }
92
+ if (shelvingState.getCurrentState() === "Unshelved") {
93
+ // just ignore !!!
94
+ return;
95
+ // throw new Error(StatusCodes.BadConditionNotShelved);
96
+ }
97
+ shelvingState.setState("Unshelved");
98
+ shelvingState._unshelvedTime = new Date(); // now
99
+ (0, node_opcua_assert_1.assert)(!shelvingState._timer);
100
+ }
101
+ function _start_timer_for_automatic_unshelve(shelvingState, duration) {
102
+ if (duration < 10 || duration >= Math.pow(2, 31)) {
103
+ throw new Error(" Invalid maxTimeShelved duration: " + duration + " must be [10,2**31] ");
104
+ }
105
+ (0, node_opcua_assert_1.assert)(!shelvingState._timer);
106
+ shelvingState._sheveldTime = new Date(); // now
107
+ shelvingState._duration = duration;
108
+ if (doDebug) {
109
+ debugLog("shelvingState._duration", shelvingState._duration);
110
+ }
111
+ if (duration !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
112
+ (0, node_opcua_assert_1.assert)(!shelvingState._timer);
113
+ shelvingState._timer = setTimeout(_automatically_unshelve.bind(null, shelvingState), shelvingState._duration);
114
+ }
115
+ }
116
+ // Spec 1.03:
117
+ // The TimedShelve Method sets the AlarmCondition to the TimedShelved state
118
+ // (parameters are defined in Table 38 and result codes are described in Table 39).
119
+ // Normally, the MethodId found in the Shelving child of the Condition instance and the NodeId of the Shelving object
120
+ // as the ObjectId are passed to the Call Service. However, some Servers do not expose Condition instances in the
121
+ // IAddressSpace. Therefore all Servers shall also allow Clients to call the TimedShelve Method by specifying
122
+ // ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the ShelvedStateMachineType Node.
123
+ //
124
+ // Signature: TimedShelve([in] Duration ShelvingTime);
125
+ //
126
+ // ShelvingTime Specifies a fixed time for which the Alarm is to be shelved. The Server may refuse
127
+ // the provided duration.
128
+ // If a MaxTimeShelved Property exist on the Alarm than the Shelving time shall be less than or equal
129
+ // to the value of this Property.
130
+ // StatusCode :
131
+ // BadConditionAlreadyShelved The Alarm is already in TimedShelved state and the system does not allow
132
+ // a reset of the shelved timer.
133
+ // BadShelvingTimeOutOfRange
134
+ function _timedShelve_method(inputArguments, context, callback) {
135
+ (0, node_opcua_assert_1.assert)(inputArguments.length === 1);
136
+ if (!context.object) {
137
+ return;
138
+ }
139
+ const shelvingState = context.object;
140
+ if (shelvingState.getCurrentState() !== "Unshelved") {
141
+ return callback(null, {
142
+ statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
143
+ });
144
+ }
145
+ // checking duration ...
146
+ const alarmNode = shelvingState.parent;
147
+ // istanbul ignore next
148
+ if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
149
+ return callback(null, {
150
+ statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
151
+ });
152
+ }
153
+ const maxTimeShelved = alarmNode.getMaxTimeShelved();
154
+ (0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
155
+ (0, node_opcua_assert_1.assert)(inputArguments[0].dataType === node_opcua_variant_1.DataType.Double); // Duration
156
+ (0, node_opcua_assert_1.assert)(inputArguments[0] instanceof node_opcua_variant_1.Variant);
157
+ // xx console.log("inputArguments",inputArguments[0].toString());
158
+ const proposedDuration = inputArguments[0].value; // as double (milliseconds)
159
+ if (proposedDuration > maxTimeShelved) {
160
+ return callback(null, {
161
+ statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
162
+ });
163
+ }
164
+ if (proposedDuration < 0) {
165
+ return callback(null, {
166
+ statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
167
+ });
168
+ }
169
+ _clear_timer_if_any(shelvingState);
170
+ shelvingState.setState("TimedShelved");
171
+ _start_timer_for_automatic_unshelve(shelvingState, proposedDuration);
172
+ return callback(null, {
173
+ statusCode: node_opcua_status_code_1.StatusCodes.Good
174
+ });
175
+ }
176
+ // Spec 1.03:
177
+ // OneShotShelve Method
178
+ // The OneShotShelve Method sets the AlarmCondition to the OneShotShelved state. Normally, the MethodId found in the
179
+ // Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId are passed to the
180
+ // Call Service. However, some Servers do not expose Condition instances in the IAddressSpace. Therefore all Servers
181
+ // shall also allow Clients to call the OneShotShelve Method by specifying ConditionId as the ObjectId. The Method
182
+ // cannot be called with an ObjectId of the ShelvedStateMachineType Node
183
+ function _oneShotShelve_method(inputArguments, context, callback) {
184
+ (0, node_opcua_assert_1.assert)(inputArguments.length === 0);
185
+ const shelvingState = context.object;
186
+ if (shelvingState.getCurrentState() === "OneShotShelved") {
187
+ return callback(null, {
188
+ statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
189
+ });
190
+ }
191
+ // checking duration ...
192
+ const alarmNode = shelvingState.parent;
193
+ // istanbul ignore next
194
+ if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
195
+ return callback(null, {
196
+ statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
197
+ });
198
+ }
199
+ const maxTimeShelved = alarmNode.getMaxTimeShelved();
200
+ (0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
201
+ (0, node_opcua_assert_1.assert)(maxTimeShelved !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration);
202
+ // set automatic unshelving timer
203
+ _clear_timer_if_any(shelvingState);
204
+ shelvingState.setState("OneShotShelved");
205
+ _start_timer_for_automatic_unshelve(shelvingState, maxTimeShelved);
206
+ return callback(null, {
207
+ statusCode: node_opcua_status_code_1.StatusCodes.Good
208
+ });
209
+ }
210
+ // from spec 1.03 :
211
+ // * UnshelveTime specifies the remaining time in milliseconds until the Alarm automatically
212
+ // transitions into the Un-shelved state.
213
+ // * For the TimedShelved state this time is initialised with the ShelvingTime argument of the
214
+ // TimedShelve Method call.
215
+ // * For the OneShotShelved state the UnshelveTime will be a constant set to the maximum Duration
216
+ // except if a MaxTimeShelved Property is provided.
217
+ function _unShelveTimeFunc(shelvingState) {
218
+ if (shelvingState.getCurrentState() === "Unshelved") {
219
+ return new node_opcua_data_value_1.DataValue({
220
+ statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
221
+ value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
222
+ });
223
+ }
224
+ if (!shelvingState._sheveldTime) {
225
+ return new node_opcua_data_value_1.DataValue({
226
+ statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
227
+ value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
228
+ });
229
+ }
230
+ if (shelvingState.getCurrentState() === "OneShotShelved" && shelvingState._duration === ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
231
+ return new node_opcua_data_value_1.DataValue({
232
+ statusCode: node_opcua_status_code_1.StatusCodes.Good,
233
+ value: {
234
+ dataType: node_opcua_variant_1.DataType.Double,
235
+ value: ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration
236
+ }
237
+ });
238
+ }
239
+ const now = new Date();
240
+ let timeToAutomaticUnshelvedState = shelvingState._duration - (now.getTime() - shelvingState._sheveldTime.getTime());
241
+ // timeToAutomaticUnshelvedState should always be greater than (or equal) zero
242
+ timeToAutomaticUnshelvedState = Math.max(timeToAutomaticUnshelvedState, 0);
243
+ return new node_opcua_data_value_1.DataValue({
244
+ statusCode: node_opcua_status_code_1.StatusCodes.Good,
245
+ value: {
246
+ dataType: node_opcua_variant_1.DataType.Double,
247
+ value: timeToAutomaticUnshelvedState
248
+ }
249
+ });
250
+ }
251
251
  //# sourceMappingURL=ua_shelving_state_machine_ex.js.map