node-opcua-address-space 2.74.0 → 2.76.1

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 (361) 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 +33 -33
  8. package/dist/source/helpers/argument_list.js +258 -257
  9. package/dist/source/helpers/argument_list.js.map +1 -1
  10. package/dist/source/helpers/call_helpers.d.ts +6 -6
  11. package/dist/source/helpers/call_helpers.js +70 -70
  12. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  13. package/dist/source/helpers/coerce_enum_value.js +33 -33
  14. package/dist/source/helpers/dump_tools.d.ts +14 -14
  15. package/dist/source/helpers/dump_tools.js +78 -78
  16. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  17. package/dist/source/helpers/ensure_secure_access.js +76 -76
  18. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  19. package/dist/source/helpers/make_optionals_map.js +29 -29
  20. package/dist/source/helpers/multiform_func.d.ts +11 -11
  21. package/dist/source/helpers/multiform_func.js +75 -73
  22. package/dist/source/helpers/multiform_func.js.map +1 -1
  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 +56 -58
  26. package/dist/source/index.js +83 -87
  27. package/dist/source/index.js.map +1 -1
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +19 -19
  29. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  30. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +193 -199
  31. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +2 -9
  32. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +1 -1
  33. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -14
  34. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +2 -2
  35. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +10 -6
  36. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +2 -2
  37. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -7
  38. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +2 -2
  39. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -7
  40. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +2 -2
  41. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -0
  42. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +3 -0
  43. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +1 -0
  44. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -4
  45. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +2 -2
  46. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -9
  47. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +2 -2
  48. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -0
  49. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +3 -0
  50. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +1 -0
  51. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -0
  52. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +3 -0
  53. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +1 -0
  54. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -5
  55. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +2 -2
  56. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -23
  57. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +2 -2
  58. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -32
  59. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +2 -2
  60. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -15
  61. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +2 -2
  62. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +42 -42
  63. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +2 -2
  64. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -7
  65. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +25 -25
  66. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -5
  67. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +2 -2
  68. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -20
  69. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +2 -2
  70. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -26
  71. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +2 -2
  72. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -10
  73. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +2 -2
  74. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -10
  75. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +2 -2
  76. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  77. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  78. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  79. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  80. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  81. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  82. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  83. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  84. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  85. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  86. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  87. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  88. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  89. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  90. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -30
  91. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +2 -2
  92. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  93. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  94. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  95. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  96. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  97. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  98. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  99. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  100. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  101. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  102. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  103. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  104. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  105. package/dist/source/loader/load_nodeset2.js +1461 -1461
  106. package/dist/source/loader/make_semver_compatible.d.ts +6 -6
  107. package/dist/source/loader/make_semver_compatible.js +25 -25
  108. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  109. package/dist/source/loader/make_xml_extension_object_parser.js +325 -325
  110. package/dist/source/loader/namespace_post_step.d.ts +10 -6
  111. package/dist/source/loader/namespace_post_step.js +61 -47
  112. package/dist/source/loader/namespace_post_step.js.map +1 -1
  113. package/dist/source/loader/register_node_promoter.d.ts +2 -3
  114. package/dist/source/loader/register_node_promoter.js +9 -9
  115. package/dist/source/loader/register_node_promoter.js.map +1 -1
  116. package/dist/source/namespace.d.ts +6 -6
  117. package/dist/source/namespace.js +2 -2
  118. package/dist/source/namespace_alarm_and_condition.d.ts +32 -24
  119. package/dist/source/namespace_alarm_and_condition.js +2 -2
  120. package/dist/source/namespace_data_access.d.ts +42 -42
  121. package/dist/source/namespace_data_access.js +2 -2
  122. package/dist/source/namespace_machine_state.d.ts +7 -7
  123. package/dist/source/namespace_machine_state.js +2 -2
  124. package/dist/source/pseudo_session.d.ts +55 -55
  125. package/dist/source/pseudo_session.js +203 -203
  126. package/dist/source/session_context.d.ts +111 -111
  127. package/dist/source/session_context.js +265 -265
  128. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  129. package/dist/source/set_namespace_meta_data.js +59 -59
  130. package/dist/source/ua_root_folder.d.ts +9 -9
  131. package/dist/source/ua_root_folder.js +2 -2
  132. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  133. package/dist/source/ua_two_state_variable_ex.js +2 -2
  134. package/dist/source/xml_writer.d.ts +9 -9
  135. package/dist/source/xml_writer.js +2 -2
  136. package/dist/src/address_space.d.ts +392 -392
  137. package/dist/src/address_space.js +1392 -1387
  138. package/dist/src/address_space.js.map +1 -1
  139. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  140. package/dist/src/address_space_change_event_tools.js +149 -149
  141. package/dist/src/address_space_private.d.ts +43 -43
  142. package/dist/src/address_space_private.js +2 -2
  143. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  144. package/dist/src/alarms_and_conditions/condition.js +78 -78
  145. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -26
  146. package/dist/src/alarms_and_conditions/condition_info_impl.js +54 -54
  147. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +222 -231
  148. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +657 -666
  149. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -1
  150. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +9 -8
  151. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +61 -46
  152. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -1
  153. package/dist/src/alarms_and_conditions/index.d.ts +16 -18
  154. package/dist/src/alarms_and_conditions/index.js +32 -34
  155. package/dist/src/alarms_and_conditions/index.js.map +1 -1
  156. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +44 -44
  157. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  158. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +93 -93
  159. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +419 -416
  160. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  161. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +26 -26
  162. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  163. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +44 -36
  164. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +183 -118
  165. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  166. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +153 -153
  167. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1028 -1024
  168. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  169. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +14 -14
  170. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +34 -34
  171. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +24 -26
  172. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  173. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  174. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -11
  175. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  176. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +23 -23
  177. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  178. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  179. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +11 -11
  180. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  181. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +79 -79
  182. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  183. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  184. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +24 -24
  185. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  186. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  187. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +19 -19
  188. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  189. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  190. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +46 -46
  191. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +166 -161
  192. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  193. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -18
  194. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  195. package/dist/src/apply_condition_refresh.d.ts +6 -6
  196. package/dist/src/apply_condition_refresh.js +27 -27
  197. package/dist/src/base_node_impl.d.ts +281 -281
  198. package/dist/src/base_node_impl.js +1395 -1395
  199. package/dist/src/base_node_private.d.ts +61 -61
  200. package/dist/src/base_node_private.js +705 -705
  201. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  202. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  203. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  204. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  205. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  206. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  207. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +51 -51
  208. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +249 -249
  209. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -25
  210. package/dist/src/data_access/ua_two_state_discrete_impl.js +153 -153
  211. package/dist/src/event_data.d.ts +34 -29
  212. package/dist/src/event_data.js +64 -95
  213. package/dist/src/event_data.js.map +1 -1
  214. package/dist/src/extension_object_array_node.d.ts +61 -61
  215. package/dist/src/extension_object_array_node.js +276 -276
  216. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  217. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  218. package/dist/src/index_current.d.ts +43 -44
  219. package/dist/src/index_current.js +74 -75
  220. package/dist/src/index_current.js.map +1 -1
  221. package/dist/src/namespace_impl.d.ts +461 -458
  222. package/dist/src/namespace_impl.js +1732 -1732
  223. package/dist/src/namespace_impl.js.map +1 -1
  224. package/dist/src/namespace_private.d.ts +21 -21
  225. package/dist/src/namespace_private.js +32 -32
  226. package/dist/src/nodeid_manager.d.ts +36 -36
  227. package/dist/src/nodeid_manager.js +197 -197
  228. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  229. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  230. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  231. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  232. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  233. package/dist/src/nodeset_tools/nodeset_to_xml.js +1155 -1155
  234. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  235. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  236. package/dist/src/reference_impl.d.ts +43 -43
  237. package/dist/src/reference_impl.js +139 -139
  238. package/dist/src/role_permissions.d.ts +2 -2
  239. package/dist/src/role_permissions.js +10 -10
  240. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  241. package/dist/src/state_machine/finite_state_machine.js +353 -353
  242. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +38 -38
  243. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  244. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  245. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  246. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -1
  247. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  248. package/dist/src/tool_isSupertypeOf.js +108 -108
  249. package/dist/src/ua_condition_type.d.ts +8 -8
  250. package/dist/src/ua_condition_type.js +2 -2
  251. package/dist/src/ua_data_type_impl.d.ts +93 -93
  252. package/dist/src/ua_data_type_impl.js +371 -371
  253. package/dist/src/ua_method_impl.d.ts +41 -41
  254. package/dist/src/ua_method_impl.js +208 -208
  255. package/dist/src/ua_object_impl.d.ts +35 -35
  256. package/dist/src/ua_object_impl.js +161 -162
  257. package/dist/src/ua_object_impl.js.map +1 -1
  258. package/dist/src/ua_object_type_impl.d.ts +48 -48
  259. package/dist/src/ua_object_type_impl.js +124 -124
  260. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  261. package/dist/src/ua_reference_type_impl.js +139 -139
  262. package/dist/src/ua_variable_impl.d.ts +351 -351
  263. package/dist/src/ua_variable_impl.js +1604 -1604
  264. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  265. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  266. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  267. package/dist/src/ua_variable_type_impl.js +570 -570
  268. package/dist/src/ua_view_impl.d.ts +19 -19
  269. package/dist/src/ua_view_impl.js +43 -43
  270. package/distHelpers/add_event_generator_object.d.ts +3 -3
  271. package/distHelpers/add_event_generator_object.js +64 -65
  272. package/distHelpers/add_event_generator_object.js.map +1 -1
  273. package/distHelpers/alarms_and_conditions_demo.d.ts +9 -9
  274. package/distHelpers/alarms_and_conditions_demo.js +115 -114
  275. package/distHelpers/alarms_and_conditions_demo.js.map +1 -1
  276. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  277. package/distHelpers/assertHasMatchingReference.js +40 -40
  278. package/distHelpers/boiler_system.d.ts +113 -113
  279. package/distHelpers/boiler_system.js +395 -395
  280. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  281. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  282. package/distHelpers/date_utils.d.ts +3 -3
  283. package/distHelpers/date_utils.js +9 -9
  284. package/distHelpers/dump_statemachine.js +127 -127
  285. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  286. package/distHelpers/get_address_space_fixture.js +30 -30
  287. package/distHelpers/get_mini_address_space.d.ts +7 -7
  288. package/distHelpers/get_mini_address_space.js +36 -36
  289. package/distHelpers/index.d.ts +12 -12
  290. package/distHelpers/index.js +28 -28
  291. package/distHelpers/mock_session.d.ts +14 -14
  292. package/distHelpers/mock_session.js +25 -25
  293. package/distNodeJS/generate_address_space.d.ts +4 -4
  294. package/distNodeJS/generate_address_space.js +41 -41
  295. package/distNodeJS/index.d.ts +1 -1
  296. package/distNodeJS/index.js +17 -17
  297. package/generate.js +1 -1
  298. package/package.json +36 -37
  299. package/source/helpers/argument_list.ts +2 -0
  300. package/source/helpers/multiform_func.ts +5 -3
  301. package/source/index.ts +0 -2
  302. package/source/interfaces/alarms_and_conditions/condition_snapshot.ts +12 -30
  303. package/source/interfaces/alarms_and_conditions/deviation_stuff.ts +8 -6
  304. package/source/interfaces/alarms_and_conditions/install_setpoint_options.ts +9 -0
  305. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.ts +4 -0
  306. package/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +2 -2
  307. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.ts +4 -0
  308. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.ts +4 -0
  309. package/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +16 -1
  310. package/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +5 -0
  311. package/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +1 -0
  312. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +1 -2
  313. package/source/loader/namespace_post_step.ts +26 -3
  314. package/source/loader/register_node_promoter.ts +5 -4
  315. package/source/namespace_alarm_and_condition.ts +48 -23
  316. package/src/address_space.ts +22 -16
  317. package/src/alarms_and_conditions/condition.ts +1 -1
  318. package/src/alarms_and_conditions/condition_snapshot_impl.ts +95 -102
  319. package/src/alarms_and_conditions/deviation_alarm_helper.ts +33 -18
  320. package/src/alarms_and_conditions/index.ts +0 -2
  321. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +4 -1
  322. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +106 -49
  323. package/src/alarms_and_conditions/ua_condition_impl.ts +9 -6
  324. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +5 -6
  325. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +1 -1
  326. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +6 -8
  327. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +5 -3
  328. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +3 -3
  329. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +30 -26
  330. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +1 -1
  331. package/src/event_data.ts +47 -77
  332. package/src/index_current.ts +0 -1
  333. package/src/namespace_impl.ts +47 -26
  334. package/src/state_machine/ua_two_state_variable.ts +2 -3
  335. package/src/ua_object_impl.ts +1 -2
  336. package/test_helpers/add_event_generator_object.ts +0 -1
  337. package/test_helpers/alarms_and_conditions_demo.ts +4 -1
  338. package/dist/source/helpers/check_event_clause.d.ts +0 -17
  339. package/dist/source/helpers/check_event_clause.js +0 -53
  340. package/dist/source/helpers/check_event_clause.js.map +0 -1
  341. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +0 -4
  342. package/dist/src/alarms_and_conditions/check_where_clause.js +0 -110
  343. package/dist/src/alarms_and_conditions/check_where_clause.js.map +0 -1
  344. package/dist/src/alarms_and_conditions/condition_info.d.ts +0 -27
  345. package/dist/src/alarms_and_conditions/condition_info.js +0 -55
  346. package/dist/src/alarms_and_conditions/condition_info.js.map +0 -1
  347. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +0 -233
  348. package/dist/src/alarms_and_conditions/condition_snapshot.js +0 -667
  349. package/dist/src/alarms_and_conditions/condition_snapshot.js.map +0 -1
  350. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +0 -10
  351. package/dist/src/alarms_and_conditions/extract_event_fields.js +0 -90
  352. package/dist/src/alarms_and_conditions/extract_event_fields.js.map +0 -1
  353. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +0 -51
  354. package/dist/src/data_access/ua_multistate_value_discrete.js +0 -250
  355. package/dist/src/data_access/ua_multistate_value_discrete.js.map +0 -1
  356. package/dist/src/data_access/ua_two_state_discrete.d.ts +0 -25
  357. package/dist/src/data_access/ua_two_state_discrete.js +0 -154
  358. package/dist/src/data_access/ua_two_state_discrete.js.map +0 -1
  359. package/source/helpers/check_event_clause.ts +0 -55
  360. package/src/alarms_and_conditions/check_where_clause.ts +0 -147
  361. package/src/alarms_and_conditions/extract_event_fields.ts +0 -103
@@ -1,351 +1,351 @@
1
- import { BindExtensionObjectOptions, CloneExtraInfo, ContinuationData, VariableDataValueSetterWithCallback } from "node-opcua-address-space-base";
2
- import { QualifiedNameLike, NodeClass, AccessLevelFlag, AttributeIds } from "node-opcua-data-model";
3
- import { DataValue, DataValueT } from "node-opcua-data-value";
4
- import { PreciseClock } from "node-opcua-date-time";
5
- import { ExtensionObject } from "node-opcua-extension-object";
6
- import { NodeId } from "node-opcua-nodeid";
7
- import { NumericRange } from "node-opcua-numeric-range";
8
- import { StatusCode, CallbackT } from "node-opcua-status-code";
9
- import { HistoryReadDetails, HistoryReadResult, ReadAtTimeDetails, ReadEventDetails, ReadProcessedDetails, ReadRawModifiedDetails, WriteValueOptions } from "node-opcua-types";
10
- import { Variant, VariantLike, DataType } from "node-opcua-variant";
11
- import { StatusCodeCallback } from "node-opcua-status-code";
12
- import { BindVariableOptions, IVariableHistorian, TimestampGetFunc, UADataType, UAVariable, UAVariableType, CloneOptions, CloneFilter, ISessionContext, UAVariableT } from "node-opcua-address-space-base";
13
- import { UAHistoricalDataConfiguration } from "node-opcua-nodeset-ua";
14
- import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
15
- import { EnumerationInfo, IEnumItem } from "./ua_data_type_impl";
16
- import { ConditionRefreshCache } from "./apply_condition_refresh";
17
- export declare function adjust_accessLevel(accessLevel: string | number | null): AccessLevelFlag;
18
- export declare function adjust_userAccessLevel(userAccessLevel: string | number | null | undefined, accessLevel: string | number | null): AccessLevelFlag | undefined;
19
- interface UAVariableOptions extends InternalBaseNodeOptions {
20
- value?: any;
21
- dataType: NodeId | string;
22
- valueRank?: number;
23
- arrayDimensions?: null | number[];
24
- accessLevel?: any;
25
- userAccessLevel?: any;
26
- minimumSamplingInterval?: number;
27
- historizing?: number;
28
- }
29
- /**
30
- * A OPCUA Variable Node
31
- *
32
- * @class UAVariable
33
- * @constructor
34
- * @extends BaseNode
35
- * The AccessLevel Attribute is used to indicate how the Value of a Variable can be accessed (read/write) and if it
36
- * contains current and/or historic data. The AccessLevel does not take any user access rights into account,
37
- * i.e. although the Variable is writable this may be restricted to a certain user / user group.
38
- * The AccessLevel is an 8-bit unsigned integer with the structure defined in the following table:
39
- *
40
- * Field Bit Description
41
- * CurrentRead 0 Indicates if the current value is readable
42
- * (0 means not readable, 1 means readable).
43
- * CurrentWrite 1 Indicates if the current value is writable
44
- * (0 means not writable, 1 means writable).
45
- * HistoryRead 2 Indicates if the history of the value is readable
46
- * (0 means not readable, 1 means readable).
47
- * HistoryWrite 3 Indicates if the history of the value is writable (0 means not writable, 1 means writable).
48
- * SemanticChange 4 Indicates if the Variable used as Property generates SemanticChangeEvents (see 9.31).
49
- * Reserved 5:7 Reserved for future use. Shall always be zero.
50
- *
51
- * The first two bits also indicate if a current value of this Variable is available and the second two bits
52
- * indicates if the history of the Variable is available via the OPC UA server.
53
- *
54
- */
55
- export declare class UAVariableImpl extends BaseNodeImpl implements UAVariable {
56
- readonly nodeClass = NodeClass.Variable;
57
- dataType: NodeId;
58
- private _basicDataType?;
59
- $extensionObject?: any;
60
- $historicalDataConfiguration?: UAHistoricalDataConfiguration;
61
- varHistorian?: IVariableHistorian;
62
- /**
63
- * @internal @private
64
- */
65
- $dataValue: DataValue;
66
- accessLevel: number;
67
- userAccessLevel?: number;
68
- valueRank: number;
69
- minimumSamplingInterval: number;
70
- historizing: boolean;
71
- semantic_version: number;
72
- arrayDimensions: null | number[];
73
- _timestamped_get_func?: TimestampGetFunc | null;
74
- _timestamped_set_func?: VariableDataValueSetterWithCallback | null;
75
- _get_func: any;
76
- _set_func: any;
77
- refreshFunc?: (callback: CallbackT<DataValue>) => void;
78
- __waiting_callbacks?: any[];
79
- get typeDefinitionObj(): UAVariableType;
80
- get typeDefinition(): NodeId;
81
- constructor(options: UAVariableOptions);
82
- private checkPermissionAndAccessLevelPrivate;
83
- isReadable(context: ISessionContext): boolean;
84
- isUserReadable(context: ISessionContext): boolean;
85
- isWritable(context: ISessionContext): boolean;
86
- isUserWritable(context: ISessionContext): boolean;
87
- /**
88
- *
89
- *
90
- * from OPC.UA.Spec 1.02 part 4
91
- * 5.10.2.4 StatusCodes
92
- * Table 51 defines values for the operation level statusCode contained in the DataValue structure of
93
- * each values element. Common StatusCodes are defined in Table 166.
94
- *
95
- * Table 51 Read Operation Level Result Codes
96
- *
97
- * Symbolic Id Description
98
- *
99
- * BadNodeIdInvalid The syntax of the node id is not valid.
100
- * BadNodeIdUnknown The node id refers to a node that does not exist in the server address space.
101
- * BadAttributeIdInvalid BadAttributeIdInvalid The attribute is not supported for the specified node.
102
- * BadIndexRangeInvalid The syntax of the index range parameter is invalid.
103
- * BadIndexRangeNoData No data exists within the range of indexes specified.
104
- * BadDataEncodingInvalid The data encoding is invalid.
105
- * This result is used if no dataEncoding can be applied because an Attribute other
106
- * than Value was requested or the DataType of the Value Attribute is not a subtype
107
- * of the Structure DataType.
108
- * BadDataEncodingUnsupported The server does not support the requested data encoding for the node.
109
- * This result is used if a dataEncoding can be applied but the passed data encoding
110
- * is not known to the Server.
111
- * BadNotReadable The access level does not allow reading or subscribing to the Node.
112
- * BadUserAccessDenied User does not have permission to perform the requested operation. (table 165)
113
- */
114
- readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
115
- isEnumeration(): boolean;
116
- isExtensionObject(): boolean;
117
- _getEnumerationInfo(): EnumerationInfo;
118
- asyncRefresh(oldestDate: Date, callback: CallbackT<DataValue>): void;
119
- asyncRefresh(oldestDate: Date): Promise<DataValue>;
120
- readEnumValue(): IEnumItem;
121
- writeEnumValue(value: string | number): void;
122
- readAttribute(context: ISessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
123
- getBasicDataType(): DataType;
124
- adjustVariant(variant: Variant): Variant;
125
- verifyVariantCompatibility(variant: Variant): void;
126
- /**
127
- * setValueFromSource is used to let the device sets the variable values
128
- * this method also records the current time as sourceTimestamp and serverTimestamp.
129
- . *
130
- * The method will raise an exception if the value is not compatible with the dataType and expected dimension
131
- *
132
- * @method setValueFromSource
133
- * @param variant {Variant}
134
- * @param [statusCode {StatusCode} = StatusCodes.Good]
135
- * @param [sourceTimestamp= Now]
136
- */
137
- setValueFromSource(variant: VariantLike, statusCode?: StatusCode, sourceTimestamp?: Date): void;
138
- writeValue(context: ISessionContext, dataValue: DataValue, indexRange: string | NumericRange | null, callback: StatusCodeCallback): void;
139
- writeValue(context: ISessionContext, dataValue: DataValue, callback: StatusCodeCallback): void;
140
- writeValue(context: ISessionContext, dataValue: DataValue, indexRange?: string | NumericRange | null): Promise<StatusCode>;
141
- writeAttribute(context: ISessionContext | null, writeValue: WriteValueOptions, callback: StatusCodeCallback): void;
142
- writeAttribute(context: ISessionContext | null, writeValue: WriteValueOptions): Promise<StatusCode>;
143
- /**
144
- * @method checkVariantCompatibility
145
- * note:
146
- * this method is overridden in address-space-data-access
147
- * @return {StatusCode}
148
- */
149
- checkVariantCompatibility(value: Variant): StatusCode;
150
- /**
151
- * touch the source timestamp of a Variable and cascade up the change
152
- * to the parent variable if any.
153
- */
154
- touchValue(optionalNow?: PreciseClock): void;
155
- /**
156
- * bind a variable with a get and set functions.
157
- *
158
- * properties:
159
- * - value: a Variant or a status code
160
- * - sourceTimestamp
161
- * - sourcePicoseconds
162
- * @param [options.timestamped_set]
163
- * @param [options.refreshFunc] the variable asynchronous getter function.
164
- * @param [overwrite {Boolean} = false] set overwrite to true to overwrite existing binding
165
- * @return void
166
- *
167
- *
168
- * ### Providing read access to the underlying value
169
- *
170
- * #### Variation 1
171
- *
172
- * In this variation, the user provides a function that returns a Variant with the current value.
173
- *
174
- * The sourceTimestamp will be set automatically.
175
- *
176
- * The get function is called synchronously.
177
- *
178
- * @example
179
- *
180
- *
181
- * ```javascript
182
- * ...
183
- * var options = {
184
- * get : () => {
185
- * return new Variant({...});
186
- * },
187
- * set : function(variant) {
188
- * // store the variant somewhere
189
- * return StatusCodes.Good;
190
- * }
191
- * };
192
- * ...
193
- * engine.bindVariable(nodeId,options):
194
- * ...
195
- * ```
196
- *
197
- *
198
- * #### Variation 2:
199
- *
200
- * This variation can be used when the user wants to specify a specific '''sourceTimestamp''' associated
201
- * with the current value of the UAVariable.
202
- *
203
- * The provided ```timestamped_get``` function should return an object with three properties:
204
- * * value: containing the variant value or a error StatusCode,
205
- * * sourceTimestamp
206
- * * sourcePicoseconds
207
- *
208
- * ```javascript
209
- * ...
210
- * var myDataValue = new DataValue({
211
- * value: {dataType: DataType.Double , value: 10.0},
212
- * sourceTimestamp : new Date(),
213
- * sourcePicoseconds: 0
214
- * });
215
- * ...
216
- * var options = {
217
- * timestamped_get : () => { return myDataValue; }
218
- * };
219
- * ...
220
- * engine.bindVariable(nodeId,options):
221
- * ...
222
- * // record a new value
223
- * myDataValue.value.value = 5.0;
224
- * myDataValue.sourceTimestamp = new Date();
225
- * ...
226
- * ```
227
- *
228
- *
229
- * #### Variation 3:
230
- *
231
- * This variation can be used when the value associated with the variables requires a asynchronous function call to be
232
- * extracted. In this case, the user should provide an async method ```refreshFunc```.
233
- *
234
- *
235
- * The ```refreshFunc``` shall do whatever is necessary to fetch the most up to date version of the variable value, and
236
- * call the ```callback``` function when the data is ready.
237
- *
238
- *
239
- * The ```callback``` function follow the standard callback function signature:
240
- * * the first argument shall be **null** or **Error**, depending of the outcome of the fetch operation,
241
- * * the second argument shall be a DataValue with the new UAVariable Value, a StatusCode, and time stamps.
242
- *
243
- *
244
- * Optionally, it is possible to pass a sourceTimestamp and a sourcePicoseconds value as a third and fourth arguments
245
- * of the callback. When sourceTimestamp and sourcePicoseconds are missing, the system will set their default value
246
- * to the current time..
247
- *
248
- *
249
- * ```javascript
250
- * ...
251
- * var options = {
252
- * refreshFunc : function(callback) {
253
- * ... do_some_async_stuff_to_get_the_new_variable_value
254
- * var dataValue = new DataValue({
255
- * value: new Variant({...}),
256
- * statusCode: StatusCodes.Good,
257
- * sourceTimestamp: new Date()
258
- * });
259
- * callback(null,dataValue);
260
- * }
261
- * };
262
- * ...
263
- * variable.bindVariable(nodeId,options):
264
- * ...
265
- * ```
266
- *
267
- * ### Providing write access to the underlying value
268
- *
269
- * #### Variation1 - provide a simple synchronous set function
270
- *
271
- *
272
- * #### Notes
273
- * to do : explain return StatusCodes.GoodCompletesAsynchronously;
274
- *
275
- */
276
- bindVariable(options?: BindVariableOptions, overwrite?: boolean): void;
277
- /**
278
- * @method readValueAsync
279
- */
280
- readValueAsync(context: ISessionContext | null, callback: CallbackT<DataValue>): void;
281
- readValueAsync(context: ISessionContext | null): Promise<DataValue>;
282
- getWriteMask(): number;
283
- getUserWriteMask(): number;
284
- clone(options: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAVariable;
285
- getDataTypeNode(): UADataType;
286
- get dataTypeObj(): UADataType;
287
- checkExtensionObjectIsCorrect(extObj: ExtensionObject | ExtensionObject[] | null): boolean;
288
- /**
289
- * @private
290
- * install UAVariable to exposed th
291
- *
292
- * precondition:
293
- */
294
- installExtensionObjectVariables(): void;
295
- /**
296
- * @method bindExtensionObject
297
- * @return {ExtensionObject}
298
- */
299
- bindExtensionObjectScalar(optionalExtensionObject: ExtensionObject, options?: BindExtensionObjectOptions): ExtensionObject | null;
300
- bindExtensionObjectArray(optionalExtensionObject: ExtensionObject[], options?: BindExtensionObjectOptions): ExtensionObject[] | null;
301
- bindExtensionObject(optionalExtensionObject?: ExtensionObject | ExtensionObject[], options?: BindExtensionObjectOptions): ExtensionObject | ExtensionObject[] | null;
302
- updateExtensionObjectPartial(partialExtensionObject?: {
303
- [key: string]: any;
304
- }): ExtensionObject;
305
- incrementExtensionObjectPartial(path: string | string[]): void;
306
- toString(): string;
307
- historyRead(context: ISessionContext, historyReadDetails: HistoryReadDetails | ReadRawModifiedDetails | ReadEventDetails | ReadProcessedDetails | ReadAtTimeDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData): Promise<HistoryReadResult>;
308
- historyRead(context: ISessionContext, historyReadDetails: HistoryReadDetails | ReadRawModifiedDetails | ReadEventDetails | ReadProcessedDetails | ReadAtTimeDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback: CallbackT<HistoryReadResult>): void;
309
- _historyReadRaw(context: ISessionContext, historyReadRawModifiedDetails: ReadRawModifiedDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback: CallbackT<HistoryReadResult>): void;
310
- _historyReadRawModify(context: ISessionContext, historyReadRawModifiedDetails: ReadRawModifiedDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback?: CallbackT<HistoryReadResult>): any;
311
- _historyRead(context: ISessionContext, historyReadDetails: HistoryReadDetails | ReadRawModifiedDetails | ReadEventDetails | ReadProcessedDetails | ReadAtTimeDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback: CallbackT<HistoryReadResult>): void;
312
- _historyPush(newDataValue: DataValue): any;
313
- _historyReadRawAsync(historyReadRawModifiedDetails: ReadRawModifiedDetails, maxNumberToExtract: number, isReversed: boolean, reverseDataValue: boolean, callback: CallbackT<DataValue[]>): any;
314
- _historyReadModify(context: ISessionContext, historyReadRawModifiedDetails: ReadRawModifiedDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback: CallbackT<HistoryReadResult>): any;
315
- _update_startOfOnlineArchive(newDate: Date): void;
316
- _update_startOfArchive(newDate: Date): void;
317
- _validate_DataType(variantDataType: DataType): boolean;
318
- _internal_set_value(value: Variant): void;
319
- _internal_set_dataValue(dataValue: DataValue, indexRange?: NumericRange | null): void;
320
- _conditionRefresh(_cache?: ConditionRefreshCache): void;
321
- handle_semantic_changed(): void;
322
- private _readDataType;
323
- private _readValueRank;
324
- private _readArrayDimensions;
325
- private _readAccessLevel;
326
- private _readAccessLevelEx;
327
- private _readUserAccessLevel;
328
- private _readMinimumSamplingInterval;
329
- private _readHistorizing;
330
- }
331
- export interface UAVariableImpl {
332
- $$variableType?: any;
333
- $$dataType?: any;
334
- $$getElementBrowseName: any;
335
- $$extensionObjectArray: any;
336
- $$indexPropertyName: any;
337
- }
338
- export interface UAVariableImplT<T, DT extends DataType> extends UAVariableImpl, UAVariableT<T, DT> {
339
- on(): any;
340
- once(): any;
341
- readValueAsync(context: ISessionContext | null): Promise<DataValueT<T, DT>>;
342
- readValueAsync(context: ISessionContext | null, callback: CallbackT<DataValueT<T, DT>>): void;
343
- readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT<T, DT>;
344
- readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT<T, DT>;
345
- writeValue(context: ISessionContext, dataValue: DataValueT<T, DT>, indexRange: NumericRange | null, callback: StatusCodeCallback): void;
346
- writeValue(context: ISessionContext, dataValue: DataValueT<T, DT>, callback: StatusCodeCallback): void;
347
- writeValue(context: ISessionContext, dataValue: DataValueT<T, DT>, indexRange?: NumericRange | null): Promise<StatusCode>;
348
- }
349
- export declare class UAVariableImplT<T, DT extends DataType> extends UAVariableImpl {
350
- }
351
- export {};
1
+ import { BindExtensionObjectOptions, CloneExtraInfo, ContinuationData, VariableDataValueSetterWithCallback } from "node-opcua-address-space-base";
2
+ import { QualifiedNameLike, NodeClass, AccessLevelFlag, AttributeIds } from "node-opcua-data-model";
3
+ import { DataValue, DataValueT } from "node-opcua-data-value";
4
+ import { PreciseClock } from "node-opcua-date-time";
5
+ import { ExtensionObject } from "node-opcua-extension-object";
6
+ import { NodeId } from "node-opcua-nodeid";
7
+ import { NumericRange } from "node-opcua-numeric-range";
8
+ import { StatusCode, CallbackT } from "node-opcua-status-code";
9
+ import { HistoryReadDetails, HistoryReadResult, ReadAtTimeDetails, ReadEventDetails, ReadProcessedDetails, ReadRawModifiedDetails, WriteValueOptions } from "node-opcua-types";
10
+ import { Variant, VariantLike, DataType } from "node-opcua-variant";
11
+ import { StatusCodeCallback } from "node-opcua-status-code";
12
+ import { BindVariableOptions, IVariableHistorian, TimestampGetFunc, UADataType, UAVariable, UAVariableType, CloneOptions, CloneFilter, ISessionContext, UAVariableT } from "node-opcua-address-space-base";
13
+ import { UAHistoricalDataConfiguration } from "node-opcua-nodeset-ua";
14
+ import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
15
+ import { EnumerationInfo, IEnumItem } from "./ua_data_type_impl";
16
+ import { ConditionRefreshCache } from "./apply_condition_refresh";
17
+ export declare function adjust_accessLevel(accessLevel: string | number | null): AccessLevelFlag;
18
+ export declare function adjust_userAccessLevel(userAccessLevel: string | number | null | undefined, accessLevel: string | number | null): AccessLevelFlag | undefined;
19
+ interface UAVariableOptions extends InternalBaseNodeOptions {
20
+ value?: any;
21
+ dataType: NodeId | string;
22
+ valueRank?: number;
23
+ arrayDimensions?: null | number[];
24
+ accessLevel?: any;
25
+ userAccessLevel?: any;
26
+ minimumSamplingInterval?: number;
27
+ historizing?: number;
28
+ }
29
+ /**
30
+ * A OPCUA Variable Node
31
+ *
32
+ * @class UAVariable
33
+ * @constructor
34
+ * @extends BaseNode
35
+ * The AccessLevel Attribute is used to indicate how the Value of a Variable can be accessed (read/write) and if it
36
+ * contains current and/or historic data. The AccessLevel does not take any user access rights into account,
37
+ * i.e. although the Variable is writable this may be restricted to a certain user / user group.
38
+ * The AccessLevel is an 8-bit unsigned integer with the structure defined in the following table:
39
+ *
40
+ * Field Bit Description
41
+ * CurrentRead 0 Indicates if the current value is readable
42
+ * (0 means not readable, 1 means readable).
43
+ * CurrentWrite 1 Indicates if the current value is writable
44
+ * (0 means not writable, 1 means writable).
45
+ * HistoryRead 2 Indicates if the history of the value is readable
46
+ * (0 means not readable, 1 means readable).
47
+ * HistoryWrite 3 Indicates if the history of the value is writable (0 means not writable, 1 means writable).
48
+ * SemanticChange 4 Indicates if the Variable used as Property generates SemanticChangeEvents (see 9.31).
49
+ * Reserved 5:7 Reserved for future use. Shall always be zero.
50
+ *
51
+ * The first two bits also indicate if a current value of this Variable is available and the second two bits
52
+ * indicates if the history of the Variable is available via the OPC UA server.
53
+ *
54
+ */
55
+ export declare class UAVariableImpl extends BaseNodeImpl implements UAVariable {
56
+ readonly nodeClass = NodeClass.Variable;
57
+ dataType: NodeId;
58
+ private _basicDataType?;
59
+ $extensionObject?: any;
60
+ $historicalDataConfiguration?: UAHistoricalDataConfiguration;
61
+ varHistorian?: IVariableHistorian;
62
+ /**
63
+ * @internal @private
64
+ */
65
+ $dataValue: DataValue;
66
+ accessLevel: number;
67
+ userAccessLevel?: number;
68
+ valueRank: number;
69
+ minimumSamplingInterval: number;
70
+ historizing: boolean;
71
+ semantic_version: number;
72
+ arrayDimensions: null | number[];
73
+ _timestamped_get_func?: TimestampGetFunc | null;
74
+ _timestamped_set_func?: VariableDataValueSetterWithCallback | null;
75
+ _get_func: any;
76
+ _set_func: any;
77
+ refreshFunc?: (callback: CallbackT<DataValue>) => void;
78
+ __waiting_callbacks?: any[];
79
+ get typeDefinitionObj(): UAVariableType;
80
+ get typeDefinition(): NodeId;
81
+ constructor(options: UAVariableOptions);
82
+ private checkPermissionAndAccessLevelPrivate;
83
+ isReadable(context: ISessionContext): boolean;
84
+ isUserReadable(context: ISessionContext): boolean;
85
+ isWritable(context: ISessionContext): boolean;
86
+ isUserWritable(context: ISessionContext): boolean;
87
+ /**
88
+ *
89
+ *
90
+ * from OPC.UA.Spec 1.02 part 4
91
+ * 5.10.2.4 StatusCodes
92
+ * Table 51 defines values for the operation level statusCode contained in the DataValue structure of
93
+ * each values element. Common StatusCodes are defined in Table 166.
94
+ *
95
+ * Table 51 Read Operation Level Result Codes
96
+ *
97
+ * Symbolic Id Description
98
+ *
99
+ * BadNodeIdInvalid The syntax of the node id is not valid.
100
+ * BadNodeIdUnknown The node id refers to a node that does not exist in the server address space.
101
+ * BadAttributeIdInvalid BadAttributeIdInvalid The attribute is not supported for the specified node.
102
+ * BadIndexRangeInvalid The syntax of the index range parameter is invalid.
103
+ * BadIndexRangeNoData No data exists within the range of indexes specified.
104
+ * BadDataEncodingInvalid The data encoding is invalid.
105
+ * This result is used if no dataEncoding can be applied because an Attribute other
106
+ * than Value was requested or the DataType of the Value Attribute is not a subtype
107
+ * of the Structure DataType.
108
+ * BadDataEncodingUnsupported The server does not support the requested data encoding for the node.
109
+ * This result is used if a dataEncoding can be applied but the passed data encoding
110
+ * is not known to the Server.
111
+ * BadNotReadable The access level does not allow reading or subscribing to the Node.
112
+ * BadUserAccessDenied User does not have permission to perform the requested operation. (table 165)
113
+ */
114
+ readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
115
+ isEnumeration(): boolean;
116
+ isExtensionObject(): boolean;
117
+ _getEnumerationInfo(): EnumerationInfo;
118
+ asyncRefresh(oldestDate: Date, callback: CallbackT<DataValue>): void;
119
+ asyncRefresh(oldestDate: Date): Promise<DataValue>;
120
+ readEnumValue(): IEnumItem;
121
+ writeEnumValue(value: string | number): void;
122
+ readAttribute(context: ISessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
123
+ getBasicDataType(): DataType;
124
+ adjustVariant(variant: Variant): Variant;
125
+ verifyVariantCompatibility(variant: Variant): void;
126
+ /**
127
+ * setValueFromSource is used to let the device sets the variable values
128
+ * this method also records the current time as sourceTimestamp and serverTimestamp.
129
+ . *
130
+ * The method will raise an exception if the value is not compatible with the dataType and expected dimension
131
+ *
132
+ * @method setValueFromSource
133
+ * @param variant {Variant}
134
+ * @param [statusCode {StatusCode} = StatusCodes.Good]
135
+ * @param [sourceTimestamp= Now]
136
+ */
137
+ setValueFromSource(variant: VariantLike, statusCode?: StatusCode, sourceTimestamp?: Date): void;
138
+ writeValue(context: ISessionContext, dataValue: DataValue, indexRange: string | NumericRange | null, callback: StatusCodeCallback): void;
139
+ writeValue(context: ISessionContext, dataValue: DataValue, callback: StatusCodeCallback): void;
140
+ writeValue(context: ISessionContext, dataValue: DataValue, indexRange?: string | NumericRange | null): Promise<StatusCode>;
141
+ writeAttribute(context: ISessionContext | null, writeValue: WriteValueOptions, callback: StatusCodeCallback): void;
142
+ writeAttribute(context: ISessionContext | null, writeValue: WriteValueOptions): Promise<StatusCode>;
143
+ /**
144
+ * @method checkVariantCompatibility
145
+ * note:
146
+ * this method is overridden in address-space-data-access
147
+ * @return {StatusCode}
148
+ */
149
+ checkVariantCompatibility(value: Variant): StatusCode;
150
+ /**
151
+ * touch the source timestamp of a Variable and cascade up the change
152
+ * to the parent variable if any.
153
+ */
154
+ touchValue(optionalNow?: PreciseClock): void;
155
+ /**
156
+ * bind a variable with a get and set functions.
157
+ *
158
+ * properties:
159
+ * - value: a Variant or a status code
160
+ * - sourceTimestamp
161
+ * - sourcePicoseconds
162
+ * @param [options.timestamped_set]
163
+ * @param [options.refreshFunc] the variable asynchronous getter function.
164
+ * @param [overwrite {Boolean} = false] set overwrite to true to overwrite existing binding
165
+ * @return void
166
+ *
167
+ *
168
+ * ### Providing read access to the underlying value
169
+ *
170
+ * #### Variation 1
171
+ *
172
+ * In this variation, the user provides a function that returns a Variant with the current value.
173
+ *
174
+ * The sourceTimestamp will be set automatically.
175
+ *
176
+ * The get function is called synchronously.
177
+ *
178
+ * @example
179
+ *
180
+ *
181
+ * ```javascript
182
+ * ...
183
+ * var options = {
184
+ * get : () => {
185
+ * return new Variant({...});
186
+ * },
187
+ * set : function(variant) {
188
+ * // store the variant somewhere
189
+ * return StatusCodes.Good;
190
+ * }
191
+ * };
192
+ * ...
193
+ * engine.bindVariable(nodeId,options):
194
+ * ...
195
+ * ```
196
+ *
197
+ *
198
+ * #### Variation 2:
199
+ *
200
+ * This variation can be used when the user wants to specify a specific '''sourceTimestamp''' associated
201
+ * with the current value of the UAVariable.
202
+ *
203
+ * The provided ```timestamped_get``` function should return an object with three properties:
204
+ * * value: containing the variant value or a error StatusCode,
205
+ * * sourceTimestamp
206
+ * * sourcePicoseconds
207
+ *
208
+ * ```javascript
209
+ * ...
210
+ * var myDataValue = new DataValue({
211
+ * value: {dataType: DataType.Double , value: 10.0},
212
+ * sourceTimestamp : new Date(),
213
+ * sourcePicoseconds: 0
214
+ * });
215
+ * ...
216
+ * var options = {
217
+ * timestamped_get : () => { return myDataValue; }
218
+ * };
219
+ * ...
220
+ * engine.bindVariable(nodeId,options):
221
+ * ...
222
+ * // record a new value
223
+ * myDataValue.value.value = 5.0;
224
+ * myDataValue.sourceTimestamp = new Date();
225
+ * ...
226
+ * ```
227
+ *
228
+ *
229
+ * #### Variation 3:
230
+ *
231
+ * This variation can be used when the value associated with the variables requires a asynchronous function call to be
232
+ * extracted. In this case, the user should provide an async method ```refreshFunc```.
233
+ *
234
+ *
235
+ * The ```refreshFunc``` shall do whatever is necessary to fetch the most up to date version of the variable value, and
236
+ * call the ```callback``` function when the data is ready.
237
+ *
238
+ *
239
+ * The ```callback``` function follow the standard callback function signature:
240
+ * * the first argument shall be **null** or **Error**, depending of the outcome of the fetch operation,
241
+ * * the second argument shall be a DataValue with the new UAVariable Value, a StatusCode, and time stamps.
242
+ *
243
+ *
244
+ * Optionally, it is possible to pass a sourceTimestamp and a sourcePicoseconds value as a third and fourth arguments
245
+ * of the callback. When sourceTimestamp and sourcePicoseconds are missing, the system will set their default value
246
+ * to the current time..
247
+ *
248
+ *
249
+ * ```javascript
250
+ * ...
251
+ * var options = {
252
+ * refreshFunc : function(callback) {
253
+ * ... do_some_async_stuff_to_get_the_new_variable_value
254
+ * var dataValue = new DataValue({
255
+ * value: new Variant({...}),
256
+ * statusCode: StatusCodes.Good,
257
+ * sourceTimestamp: new Date()
258
+ * });
259
+ * callback(null,dataValue);
260
+ * }
261
+ * };
262
+ * ...
263
+ * variable.bindVariable(nodeId,options):
264
+ * ...
265
+ * ```
266
+ *
267
+ * ### Providing write access to the underlying value
268
+ *
269
+ * #### Variation1 - provide a simple synchronous set function
270
+ *
271
+ *
272
+ * #### Notes
273
+ * to do : explain return StatusCodes.GoodCompletesAsynchronously;
274
+ *
275
+ */
276
+ bindVariable(options?: BindVariableOptions, overwrite?: boolean): void;
277
+ /**
278
+ * @method readValueAsync
279
+ */
280
+ readValueAsync(context: ISessionContext | null, callback: CallbackT<DataValue>): void;
281
+ readValueAsync(context: ISessionContext | null): Promise<DataValue>;
282
+ getWriteMask(): number;
283
+ getUserWriteMask(): number;
284
+ clone(options: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAVariable;
285
+ getDataTypeNode(): UADataType;
286
+ get dataTypeObj(): UADataType;
287
+ checkExtensionObjectIsCorrect(extObj: ExtensionObject | ExtensionObject[] | null): boolean;
288
+ /**
289
+ * @private
290
+ * install UAVariable to exposed th
291
+ *
292
+ * precondition:
293
+ */
294
+ installExtensionObjectVariables(): void;
295
+ /**
296
+ * @method bindExtensionObject
297
+ * @return {ExtensionObject}
298
+ */
299
+ bindExtensionObjectScalar(optionalExtensionObject: ExtensionObject, options?: BindExtensionObjectOptions): ExtensionObject | null;
300
+ bindExtensionObjectArray(optionalExtensionObject: ExtensionObject[], options?: BindExtensionObjectOptions): ExtensionObject[] | null;
301
+ bindExtensionObject(optionalExtensionObject?: ExtensionObject | ExtensionObject[], options?: BindExtensionObjectOptions): ExtensionObject | ExtensionObject[] | null;
302
+ updateExtensionObjectPartial(partialExtensionObject?: {
303
+ [key: string]: any;
304
+ }): ExtensionObject;
305
+ incrementExtensionObjectPartial(path: string | string[]): void;
306
+ toString(): string;
307
+ historyRead(context: ISessionContext, historyReadDetails: HistoryReadDetails | ReadRawModifiedDetails | ReadEventDetails | ReadProcessedDetails | ReadAtTimeDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData): Promise<HistoryReadResult>;
308
+ historyRead(context: ISessionContext, historyReadDetails: HistoryReadDetails | ReadRawModifiedDetails | ReadEventDetails | ReadProcessedDetails | ReadAtTimeDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback: CallbackT<HistoryReadResult>): void;
309
+ _historyReadRaw(context: ISessionContext, historyReadRawModifiedDetails: ReadRawModifiedDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback: CallbackT<HistoryReadResult>): void;
310
+ _historyReadRawModify(context: ISessionContext, historyReadRawModifiedDetails: ReadRawModifiedDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback?: CallbackT<HistoryReadResult>): any;
311
+ _historyRead(context: ISessionContext, historyReadDetails: HistoryReadDetails | ReadRawModifiedDetails | ReadEventDetails | ReadProcessedDetails | ReadAtTimeDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback: CallbackT<HistoryReadResult>): void;
312
+ _historyPush(newDataValue: DataValue): any;
313
+ _historyReadRawAsync(historyReadRawModifiedDetails: ReadRawModifiedDetails, maxNumberToExtract: number, isReversed: boolean, reverseDataValue: boolean, callback: CallbackT<DataValue[]>): any;
314
+ _historyReadModify(context: ISessionContext, historyReadRawModifiedDetails: ReadRawModifiedDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationData: ContinuationData, callback: CallbackT<HistoryReadResult>): any;
315
+ _update_startOfOnlineArchive(newDate: Date): void;
316
+ _update_startOfArchive(newDate: Date): void;
317
+ _validate_DataType(variantDataType: DataType): boolean;
318
+ _internal_set_value(value: Variant): void;
319
+ _internal_set_dataValue(dataValue: DataValue, indexRange?: NumericRange | null): void;
320
+ _conditionRefresh(_cache?: ConditionRefreshCache): void;
321
+ handle_semantic_changed(): void;
322
+ private _readDataType;
323
+ private _readValueRank;
324
+ private _readArrayDimensions;
325
+ private _readAccessLevel;
326
+ private _readAccessLevelEx;
327
+ private _readUserAccessLevel;
328
+ private _readMinimumSamplingInterval;
329
+ private _readHistorizing;
330
+ }
331
+ export interface UAVariableImpl {
332
+ $$variableType?: any;
333
+ $$dataType?: any;
334
+ $$getElementBrowseName: any;
335
+ $$extensionObjectArray: any;
336
+ $$indexPropertyName: any;
337
+ }
338
+ export interface UAVariableImplT<T, DT extends DataType> extends UAVariableImpl, UAVariableT<T, DT> {
339
+ on(): any;
340
+ once(): any;
341
+ readValueAsync(context: ISessionContext | null): Promise<DataValueT<T, DT>>;
342
+ readValueAsync(context: ISessionContext | null, callback: CallbackT<DataValueT<T, DT>>): void;
343
+ readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT<T, DT>;
344
+ readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT<T, DT>;
345
+ writeValue(context: ISessionContext, dataValue: DataValueT<T, DT>, indexRange: NumericRange | null, callback: StatusCodeCallback): void;
346
+ writeValue(context: ISessionContext, dataValue: DataValueT<T, DT>, callback: StatusCodeCallback): void;
347
+ writeValue(context: ISessionContext, dataValue: DataValueT<T, DT>, indexRange?: NumericRange | null): Promise<StatusCode>;
348
+ }
349
+ export declare class UAVariableImplT<T, DT extends DataType> extends UAVariableImpl {
350
+ }
351
+ export {};