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,41 +1,41 @@
1
- import { AttributeIds, QualifiedNameLike } from "node-opcua-data-model";
2
- import { NodeClass } from "node-opcua-data-model";
3
- import { DataValue } from "node-opcua-data-value";
4
- import { NodeId } from "node-opcua-nodeid";
5
- import { NumericRange } from "node-opcua-numeric-range";
6
- import { Argument } from "node-opcua-service-call";
7
- import { CallbackT } from "node-opcua-status-code";
8
- import { CallMethodResultOptions } from "node-opcua-types";
9
- import { VariantLike } from "node-opcua-variant";
10
- import { MethodFunctor, UAMethod, UAObject, CloneExtraInfo, CloneFilter, CloneOptions, UAObjectType, ISessionContext } from "node-opcua-address-space-base";
11
- import { SessionContext } from "../source";
12
- import { BaseNodeImpl } from "./base_node_impl";
13
- export declare class UAMethodImpl extends BaseNodeImpl implements UAMethod {
14
- static checkValidArgument(args: unknown): boolean;
15
- readonly nodeClass = NodeClass.Method;
16
- get typeDefinitionObj(): UAObjectType;
17
- get parent(): UAObject | null;
18
- value?: any;
19
- methodDeclarationId: NodeId;
20
- _getExecutableFlag?: (this: UAMethod, context: ISessionContext | null) => boolean;
21
- _asyncExecutionFunction?: MethodFunctor;
22
- constructor(options: any);
23
- /**
24
- *
25
- *
26
- */
27
- getExecutableFlag(context: ISessionContext | null): boolean;
28
- /**
29
- *
30
- * @returns true if the method is bound
31
- */
32
- isBound(): boolean;
33
- readAttribute(context: ISessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
34
- getInputArguments(): Argument[];
35
- getOutputArguments(): Argument[];
36
- bindMethod(async_func: MethodFunctor): void;
37
- execute(object: UAObject | UAObjectType | null, inputArguments: null | VariantLike[], context: SessionContext): Promise<CallMethodResultOptions>;
38
- execute(object: UAObject | UAObjectType | null, inputArguments: null | VariantLike[], context: ISessionContext, callback: CallbackT<CallMethodResultOptions>): void;
39
- clone(options: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAMethod;
40
- private _getArguments;
41
- }
1
+ import { AttributeIds, QualifiedNameLike } from "node-opcua-data-model";
2
+ import { NodeClass } from "node-opcua-data-model";
3
+ import { DataValue } from "node-opcua-data-value";
4
+ import { NodeId } from "node-opcua-nodeid";
5
+ import { NumericRange } from "node-opcua-numeric-range";
6
+ import { Argument } from "node-opcua-service-call";
7
+ import { CallbackT } from "node-opcua-status-code";
8
+ import { CallMethodResultOptions } from "node-opcua-types";
9
+ import { VariantLike } from "node-opcua-variant";
10
+ import { MethodFunctor, UAMethod, UAObject, CloneExtraInfo, CloneFilter, CloneOptions, UAObjectType, ISessionContext } from "node-opcua-address-space-base";
11
+ import { SessionContext } from "../source";
12
+ import { BaseNodeImpl } from "./base_node_impl";
13
+ export declare class UAMethodImpl extends BaseNodeImpl implements UAMethod {
14
+ static checkValidArgument(args: unknown): boolean;
15
+ readonly nodeClass = NodeClass.Method;
16
+ get typeDefinitionObj(): UAObjectType;
17
+ get parent(): UAObject | null;
18
+ value?: any;
19
+ methodDeclarationId: NodeId;
20
+ _getExecutableFlag?: (this: UAMethod, context: ISessionContext | null) => boolean;
21
+ _asyncExecutionFunction?: MethodFunctor;
22
+ constructor(options: any);
23
+ /**
24
+ *
25
+ *
26
+ */
27
+ getExecutableFlag(context: ISessionContext | null): boolean;
28
+ /**
29
+ *
30
+ * @returns true if the method is bound
31
+ */
32
+ isBound(): boolean;
33
+ readAttribute(context: ISessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
34
+ getInputArguments(): Argument[];
35
+ getOutputArguments(): Argument[];
36
+ bindMethod(async_func: MethodFunctor): void;
37
+ execute(object: UAObject | UAObjectType | null, inputArguments: null | VariantLike[], context: SessionContext): Promise<CallMethodResultOptions>;
38
+ execute(object: UAObject | UAObjectType | null, inputArguments: null | VariantLike[], context: ISessionContext, callback: CallbackT<CallMethodResultOptions>): void;
39
+ clone(options: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAMethod;
40
+ private _getArguments;
41
+ }
@@ -1,209 +1,209 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UAMethodImpl = void 0;
4
- /**
5
- * @module node-opcua-address-space
6
- */
7
- const util_1 = require("util");
8
- const chalk = require("chalk");
9
- const node_opcua_assert_1 = require("node-opcua-assert");
10
- const node_opcua_data_model_1 = require("node-opcua-data-model");
11
- const node_opcua_data_model_2 = require("node-opcua-data-model");
12
- const node_opcua_data_value_1 = require("node-opcua-data-value");
13
- const node_opcua_debug_1 = require("node-opcua-debug");
14
- const node_opcua_status_code_1 = require("node-opcua-status-code");
15
- const node_opcua_types_1 = require("node-opcua-types");
16
- const node_opcua_variant_1 = require("node-opcua-variant");
17
- const node_opcua_variant_2 = require("node-opcua-variant");
18
- const node_opcua_address_space_base_1 = require("node-opcua-address-space-base");
19
- const base_node_private_1 = require("./base_node_private");
20
- const namespace_impl_1 = require("./namespace_impl");
21
- const base_node_impl_1 = require("./base_node_impl");
22
- const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
23
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
24
- const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
25
- function default_check_valid_argument(arg) {
26
- return arg.constructor.name === "Argument";
27
- }
28
- class UAMethodImpl extends base_node_impl_1.BaseNodeImpl {
29
- constructor(options) {
30
- super(options);
31
- this.nodeClass = node_opcua_data_model_2.NodeClass.Method;
32
- this.value = options.value;
33
- this.methodDeclarationId = options.methodDeclarationId;
34
- }
35
- static checkValidArgument(args) {
36
- return default_check_valid_argument(args);
37
- }
38
- get typeDefinitionObj() {
39
- return super.typeDefinitionObj;
40
- }
41
- get parent() {
42
- return super.parent;
43
- }
44
- /**
45
- *
46
- *
47
- */
48
- getExecutableFlag(context) {
49
- if (!this.isBound()) {
50
- return false;
51
- }
52
- if (this._getExecutableFlag) {
53
- return this._getExecutableFlag(context);
54
- }
55
- return true;
56
- }
57
- /**
58
- *
59
- * @returns true if the method is bound
60
- */
61
- isBound() {
62
- return typeof this._asyncExecutionFunction === "function";
63
- }
64
- readAttribute(context, attributeId, indexRange, dataEncoding) {
65
- const options = {};
66
- switch (attributeId) {
67
- case node_opcua_data_model_1.AttributeIds.Executable:
68
- options.value = { dataType: node_opcua_variant_2.DataType.Boolean, value: this.getExecutableFlag(context) };
69
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
70
- break;
71
- case node_opcua_data_model_1.AttributeIds.UserExecutable:
72
- options.value = { dataType: node_opcua_variant_2.DataType.Boolean, value: this.getExecutableFlag(context) };
73
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
74
- break;
75
- default:
76
- return base_node_impl_1.BaseNodeImpl.prototype.readAttribute.call(this, context, attributeId, indexRange, dataEncoding);
77
- }
78
- return new node_opcua_data_value_1.DataValue(options);
79
- }
80
- getInputArguments() {
81
- return this._getArguments("InputArguments");
82
- }
83
- getOutputArguments() {
84
- return this._getArguments("OutputArguments");
85
- }
86
- bindMethod(async_func) {
87
- (0, node_opcua_assert_1.assert)(typeof async_func === "function");
88
- if (async_func.length === 2) {
89
- async_func = (0, util_1.callbackify)(async_func);
90
- }
91
- (0, node_opcua_assert_1.assert)(async_func.length === 3);
92
- this._asyncExecutionFunction = async_func;
93
- }
94
- execute(object, inputArguments, context, callback) {
95
- // istanbul ignore next
96
- if (!callback) {
97
- throw new Error("execute need to be promisified");
98
- }
99
- (0, node_opcua_assert_1.assert)(inputArguments === null || Array.isArray(inputArguments));
100
- inputArguments = inputArguments || [];
101
- inputArguments = inputArguments.map(node_opcua_variant_1.Variant.coerce);
102
- (0, node_opcua_assert_1.assert)(inputArguments.length === 0 || inputArguments[0] instanceof node_opcua_variant_1.Variant);
103
- (0, node_opcua_assert_1.assert)(context !== null && typeof context === "object");
104
- (0, node_opcua_assert_1.assert)(typeof callback === "function");
105
- object = object || this.parent;
106
- // istanbul ignore next
107
- if (!object) {
108
- errorLog("UAMethod#execute expects a valid object");
109
- return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadInternalError });
110
- }
111
- if (object.nodeClass !== node_opcua_data_model_2.NodeClass.Object && object.nodeClass !== node_opcua_data_model_2.NodeClass.ObjectType) {
112
- warningLog("Method " +
113
- this.nodeId.toString() +
114
- " " +
115
- this.browseName.toString() +
116
- " called for a node that is not a Object/ObjectType but " +
117
- node_opcua_data_model_2.NodeClass[context.object.nodeClass]);
118
- return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid });
119
- }
120
- if (!this._asyncExecutionFunction) {
121
- warningLog("Method " + this.nodeId.toString() + " " + this.browseName.toString() + " has not been bound");
122
- return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadInternalError });
123
- }
124
- if (!this.getExecutableFlag(context)) {
125
- warningLog("Method " + this.nodeId.toString() + " " + this.browseName.toString() + " is not executable");
126
- return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadNotExecutable });
127
- }
128
- if (context.isAccessRestricted(this)) {
129
- return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadSecurityModeInsufficient });
130
- }
131
- if (!context.checkPermission(this, node_opcua_types_1.PermissionType.Call)) {
132
- return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadUserAccessDenied });
133
- }
134
- // verify that input arguments are correct
135
- // todo :
136
- const inputArgumentDiagnosticInfos = [];
137
- context.object = object;
138
- try {
139
- this._asyncExecutionFunction.call(this, inputArguments, context, (err, callMethodResult) => {
140
- var _a;
141
- if (err) {
142
- debugLog(err.message);
143
- debugLog(err);
144
- }
145
- callMethodResult = callMethodResult || {};
146
- callMethodResult.statusCode = callMethodResult.statusCode || node_opcua_status_code_1.StatusCodes.Good;
147
- callMethodResult.outputArguments = callMethodResult.outputArguments || [];
148
- callMethodResult.inputArgumentResults =
149
- ((_a = callMethodResult.inputArgumentResults) === null || _a === void 0 ? void 0 : _a.length) === (inputArguments === null || inputArguments === void 0 ? void 0 : inputArguments.length)
150
- ? callMethodResult.inputArgumentResults
151
- : inputArguments === null || inputArguments === void 0 ? void 0 : inputArguments.map(() => node_opcua_status_code_1.StatusCodes.Good);
152
- callMethodResult.inputArgumentDiagnosticInfos =
153
- callMethodResult.inputArgumentDiagnosticInfos || inputArgumentDiagnosticInfos;
154
- // verify that output arguments are correct according to schema
155
- // Todo : ...
156
- // const outputArgsDef = this.getOutputArguments();
157
- // xx assert(outputArgsDef.length === callMethodResponse.outputArguments.length,
158
- // xx "_asyncExecutionFunction did not provide the expected number of output arguments");
159
- // to be continued ...
160
- callback(err, callMethodResult);
161
- });
162
- }
163
- catch (err) {
164
- if (err instanceof Error) {
165
- warningLog(chalk.red("ERR in method handler"), err.message);
166
- warningLog(err.stack);
167
- }
168
- const callMethodResponse = { statusCode: node_opcua_status_code_1.StatusCodes.BadInternalError };
169
- callback(err, callMethodResponse);
170
- }
171
- }
172
- clone(options, optionalFilter, extraInfo) {
173
- (0, node_opcua_assert_1.assert)(!options.componentOf || options.componentOf, "trying to create an orphan method ?");
174
- const addressSpace = this.addressSpace;
175
- options = Object.assign(Object.assign({}, options), { methodDeclarationId: this.nodeId });
176
- options.references = options.references || [];
177
- (0, namespace_impl_1._handle_hierarchy_parent)(addressSpace, options.references, options);
178
- const clonedMethod = base_node_private_1._clone.call(this, UAMethodImpl, options, optionalFilter || node_opcua_address_space_base_1.defaultCloneFilter, extraInfo || node_opcua_address_space_base_1.defaultCloneExtraInfo);
179
- clonedMethod._asyncExecutionFunction = this._asyncExecutionFunction;
180
- clonedMethod._getExecutableFlag = this._getExecutableFlag;
181
- if (options.componentOf) {
182
- const m = options.componentOf.getMethodByName(clonedMethod.browseName.name);
183
- (0, node_opcua_assert_1.assert)(m);
184
- }
185
- return clonedMethod;
186
- }
187
- _getArguments(name) {
188
- (0, node_opcua_assert_1.assert)(name === "InputArguments" || name === "OutputArguments");
189
- const argsVariable = this.getPropertyByName(name);
190
- if (!argsVariable) {
191
- return [];
192
- }
193
- (0, node_opcua_assert_1.assert)(argsVariable.nodeClass === node_opcua_data_model_2.NodeClass.Variable);
194
- const args = argsVariable.readValue().value.value;
195
- if (!args) {
196
- return [];
197
- }
198
- // a list of extension object
199
- (0, node_opcua_assert_1.assert)(Array.isArray(args));
200
- (0, node_opcua_assert_1.assert)(args.length === 0 || UAMethodImpl.checkValidArgument(args[0]));
201
- return args;
202
- }
203
- }
204
- exports.UAMethodImpl = UAMethodImpl;
205
- // tslint:disable:no-var-requires
206
- // tslint:disable:max-line-length
207
- const thenify = require("thenify");
208
- UAMethodImpl.prototype.execute = thenify.withCallback(UAMethodImpl.prototype.execute);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UAMethodImpl = void 0;
4
+ /**
5
+ * @module node-opcua-address-space
6
+ */
7
+ const util_1 = require("util");
8
+ const chalk = require("chalk");
9
+ const node_opcua_assert_1 = require("node-opcua-assert");
10
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
11
+ const node_opcua_data_model_2 = require("node-opcua-data-model");
12
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
13
+ const node_opcua_debug_1 = require("node-opcua-debug");
14
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
15
+ const node_opcua_types_1 = require("node-opcua-types");
16
+ const node_opcua_variant_1 = require("node-opcua-variant");
17
+ const node_opcua_variant_2 = require("node-opcua-variant");
18
+ const node_opcua_address_space_base_1 = require("node-opcua-address-space-base");
19
+ const base_node_private_1 = require("./base_node_private");
20
+ const namespace_impl_1 = require("./namespace_impl");
21
+ const base_node_impl_1 = require("./base_node_impl");
22
+ const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
23
+ const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
24
+ const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
25
+ function default_check_valid_argument(arg) {
26
+ return arg.constructor.name === "Argument";
27
+ }
28
+ class UAMethodImpl extends base_node_impl_1.BaseNodeImpl {
29
+ constructor(options) {
30
+ super(options);
31
+ this.nodeClass = node_opcua_data_model_2.NodeClass.Method;
32
+ this.value = options.value;
33
+ this.methodDeclarationId = options.methodDeclarationId;
34
+ }
35
+ static checkValidArgument(args) {
36
+ return default_check_valid_argument(args);
37
+ }
38
+ get typeDefinitionObj() {
39
+ return super.typeDefinitionObj;
40
+ }
41
+ get parent() {
42
+ return super.parent;
43
+ }
44
+ /**
45
+ *
46
+ *
47
+ */
48
+ getExecutableFlag(context) {
49
+ if (!this.isBound()) {
50
+ return false;
51
+ }
52
+ if (this._getExecutableFlag) {
53
+ return this._getExecutableFlag(context);
54
+ }
55
+ return true;
56
+ }
57
+ /**
58
+ *
59
+ * @returns true if the method is bound
60
+ */
61
+ isBound() {
62
+ return typeof this._asyncExecutionFunction === "function";
63
+ }
64
+ readAttribute(context, attributeId, indexRange, dataEncoding) {
65
+ const options = {};
66
+ switch (attributeId) {
67
+ case node_opcua_data_model_1.AttributeIds.Executable:
68
+ options.value = { dataType: node_opcua_variant_2.DataType.Boolean, value: this.getExecutableFlag(context) };
69
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
70
+ break;
71
+ case node_opcua_data_model_1.AttributeIds.UserExecutable:
72
+ options.value = { dataType: node_opcua_variant_2.DataType.Boolean, value: this.getExecutableFlag(context) };
73
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
74
+ break;
75
+ default:
76
+ return base_node_impl_1.BaseNodeImpl.prototype.readAttribute.call(this, context, attributeId, indexRange, dataEncoding);
77
+ }
78
+ return new node_opcua_data_value_1.DataValue(options);
79
+ }
80
+ getInputArguments() {
81
+ return this._getArguments("InputArguments");
82
+ }
83
+ getOutputArguments() {
84
+ return this._getArguments("OutputArguments");
85
+ }
86
+ bindMethod(async_func) {
87
+ (0, node_opcua_assert_1.assert)(typeof async_func === "function");
88
+ if (async_func.length === 2) {
89
+ async_func = (0, util_1.callbackify)(async_func);
90
+ }
91
+ (0, node_opcua_assert_1.assert)(async_func.length === 3);
92
+ this._asyncExecutionFunction = async_func;
93
+ }
94
+ execute(object, inputArguments, context, callback) {
95
+ // istanbul ignore next
96
+ if (!callback) {
97
+ throw new Error("execute need to be promisified");
98
+ }
99
+ (0, node_opcua_assert_1.assert)(inputArguments === null || Array.isArray(inputArguments));
100
+ inputArguments = inputArguments || [];
101
+ inputArguments = inputArguments.map(node_opcua_variant_1.Variant.coerce);
102
+ (0, node_opcua_assert_1.assert)(inputArguments.length === 0 || inputArguments[0] instanceof node_opcua_variant_1.Variant);
103
+ (0, node_opcua_assert_1.assert)(context !== null && typeof context === "object");
104
+ (0, node_opcua_assert_1.assert)(typeof callback === "function");
105
+ object = object || this.parent;
106
+ // istanbul ignore next
107
+ if (!object) {
108
+ errorLog("UAMethod#execute expects a valid object");
109
+ return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadInternalError });
110
+ }
111
+ if (object.nodeClass !== node_opcua_data_model_2.NodeClass.Object && object.nodeClass !== node_opcua_data_model_2.NodeClass.ObjectType) {
112
+ warningLog("Method " +
113
+ this.nodeId.toString() +
114
+ " " +
115
+ this.browseName.toString() +
116
+ " called for a node that is not a Object/ObjectType but " +
117
+ node_opcua_data_model_2.NodeClass[context.object.nodeClass]);
118
+ return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid });
119
+ }
120
+ if (!this._asyncExecutionFunction) {
121
+ warningLog("Method " + this.nodeId.toString() + " " + this.browseName.toString() + " has not been bound");
122
+ return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadInternalError });
123
+ }
124
+ if (!this.getExecutableFlag(context)) {
125
+ warningLog("Method " + this.nodeId.toString() + " " + this.browseName.toString() + " is not executable");
126
+ return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadNotExecutable });
127
+ }
128
+ if (context.isAccessRestricted(this)) {
129
+ return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadSecurityModeInsufficient });
130
+ }
131
+ if (!context.checkPermission(this, node_opcua_types_1.PermissionType.Call)) {
132
+ return callback(null, { statusCode: node_opcua_status_code_1.StatusCodes.BadUserAccessDenied });
133
+ }
134
+ // verify that input arguments are correct
135
+ // todo :
136
+ const inputArgumentDiagnosticInfos = [];
137
+ context.object = object;
138
+ try {
139
+ this._asyncExecutionFunction.call(this, inputArguments, context, (err, callMethodResult) => {
140
+ var _a;
141
+ if (err) {
142
+ debugLog(err.message);
143
+ debugLog(err);
144
+ }
145
+ callMethodResult = callMethodResult || {};
146
+ callMethodResult.statusCode = callMethodResult.statusCode || node_opcua_status_code_1.StatusCodes.Good;
147
+ callMethodResult.outputArguments = callMethodResult.outputArguments || [];
148
+ callMethodResult.inputArgumentResults =
149
+ ((_a = callMethodResult.inputArgumentResults) === null || _a === void 0 ? void 0 : _a.length) === (inputArguments === null || inputArguments === void 0 ? void 0 : inputArguments.length)
150
+ ? callMethodResult.inputArgumentResults
151
+ : inputArguments === null || inputArguments === void 0 ? void 0 : inputArguments.map(() => node_opcua_status_code_1.StatusCodes.Good);
152
+ callMethodResult.inputArgumentDiagnosticInfos =
153
+ callMethodResult.inputArgumentDiagnosticInfos || inputArgumentDiagnosticInfos;
154
+ // verify that output arguments are correct according to schema
155
+ // Todo : ...
156
+ // const outputArgsDef = this.getOutputArguments();
157
+ // xx assert(outputArgsDef.length === callMethodResponse.outputArguments.length,
158
+ // xx "_asyncExecutionFunction did not provide the expected number of output arguments");
159
+ // to be continued ...
160
+ callback(err, callMethodResult);
161
+ });
162
+ }
163
+ catch (err) {
164
+ if (err instanceof Error) {
165
+ warningLog(chalk.red("ERR in method handler"), err.message);
166
+ warningLog(err.stack);
167
+ }
168
+ const callMethodResponse = { statusCode: node_opcua_status_code_1.StatusCodes.BadInternalError };
169
+ callback(err, callMethodResponse);
170
+ }
171
+ }
172
+ clone(options, optionalFilter, extraInfo) {
173
+ (0, node_opcua_assert_1.assert)(!options.componentOf || options.componentOf, "trying to create an orphan method ?");
174
+ const addressSpace = this.addressSpace;
175
+ options = Object.assign(Object.assign({}, options), { methodDeclarationId: this.nodeId });
176
+ options.references = options.references || [];
177
+ (0, namespace_impl_1._handle_hierarchy_parent)(addressSpace, options.references, options);
178
+ const clonedMethod = base_node_private_1._clone.call(this, UAMethodImpl, options, optionalFilter || node_opcua_address_space_base_1.defaultCloneFilter, extraInfo || node_opcua_address_space_base_1.defaultCloneExtraInfo);
179
+ clonedMethod._asyncExecutionFunction = this._asyncExecutionFunction;
180
+ clonedMethod._getExecutableFlag = this._getExecutableFlag;
181
+ if (options.componentOf) {
182
+ const m = options.componentOf.getMethodByName(clonedMethod.browseName.name);
183
+ (0, node_opcua_assert_1.assert)(m);
184
+ }
185
+ return clonedMethod;
186
+ }
187
+ _getArguments(name) {
188
+ (0, node_opcua_assert_1.assert)(name === "InputArguments" || name === "OutputArguments");
189
+ const argsVariable = this.getPropertyByName(name);
190
+ if (!argsVariable) {
191
+ return [];
192
+ }
193
+ (0, node_opcua_assert_1.assert)(argsVariable.nodeClass === node_opcua_data_model_2.NodeClass.Variable);
194
+ const args = argsVariable.readValue().value.value;
195
+ if (!args) {
196
+ return [];
197
+ }
198
+ // a list of extension object
199
+ (0, node_opcua_assert_1.assert)(Array.isArray(args));
200
+ (0, node_opcua_assert_1.assert)(args.length === 0 || UAMethodImpl.checkValidArgument(args[0]));
201
+ return args;
202
+ }
203
+ }
204
+ exports.UAMethodImpl = UAMethodImpl;
205
+ // tslint:disable:no-var-requires
206
+ // tslint:disable:max-line-length
207
+ const thenify = require("thenify");
208
+ UAMethodImpl.prototype.execute = thenify.withCallback(UAMethodImpl.prototype.execute);
209
209
  //# sourceMappingURL=ua_method_impl.js.map
@@ -1,35 +1,35 @@
1
- import { NodeClass, QualifiedNameLike, QualifiedNameOptions } from "node-opcua-data-model";
2
- import { AttributeIds } from "node-opcua-data-model";
3
- import { DataValue } from "node-opcua-data-value";
4
- import { NumericRange } from "node-opcua-numeric-range";
5
- import { EventTypeLike, RaiseEventData, ISessionContext, UAMethod, UAObject, UAObjectType, CloneOptions, CloneFilter, CloneExtraInfo, BaseNode, IEventData, EventNotifierFlags } from "node-opcua-address-space-base";
6
- import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
7
- import { ConditionRefreshCache } from "./apply_condition_refresh";
8
- export declare class UAObjectImpl extends BaseNodeImpl implements UAObject {
9
- private _eventNotifier;
10
- readonly nodeClass = NodeClass.Object;
11
- get eventNotifier(): EventNotifierFlags;
12
- readonly symbolicName: string | null;
13
- get typeDefinitionObj(): UAObjectType;
14
- constructor(options: InternalBaseNodeOptions & {
15
- eventNotifier?: number;
16
- symbolicName?: string | null;
17
- });
18
- readAttribute(context: ISessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
19
- clone(options: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAObject;
20
- /**
21
- * returns true if the object has some opcua methods
22
- */
23
- get hasMethods(): boolean;
24
- getMethodByName(methodName: QualifiedNameOptions): UAMethod | null;
25
- getMethodByName(methodName: string, namespaceIndex?: number): UAMethod | null;
26
- getMethods(): UAMethod[];
27
- setEventNotifier(eventNotifierFlags: EventNotifierFlags): void;
28
- /**
29
- * Raise a transient Event
30
- */
31
- raiseEvent(eventType: EventTypeLike | BaseNode, data: RaiseEventData): void;
32
- _bubble_up_event(eventData: IEventData): void;
33
- _conditionRefresh(_cache?: ConditionRefreshCache): void;
34
- toString(): string;
35
- }
1
+ import { NodeClass, QualifiedNameLike, QualifiedNameOptions } from "node-opcua-data-model";
2
+ import { AttributeIds } from "node-opcua-data-model";
3
+ import { DataValue } from "node-opcua-data-value";
4
+ import { NumericRange } from "node-opcua-numeric-range";
5
+ import { EventTypeLike, RaiseEventData, ISessionContext, UAMethod, UAObject, UAObjectType, CloneOptions, CloneFilter, CloneExtraInfo, BaseNode, IEventData, EventNotifierFlags } from "node-opcua-address-space-base";
6
+ import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
7
+ import { ConditionRefreshCache } from "./apply_condition_refresh";
8
+ export declare class UAObjectImpl extends BaseNodeImpl implements UAObject {
9
+ private _eventNotifier;
10
+ readonly nodeClass = NodeClass.Object;
11
+ get eventNotifier(): EventNotifierFlags;
12
+ readonly symbolicName: string | null;
13
+ get typeDefinitionObj(): UAObjectType;
14
+ constructor(options: InternalBaseNodeOptions & {
15
+ eventNotifier?: number;
16
+ symbolicName?: string | null;
17
+ });
18
+ readAttribute(context: ISessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
19
+ clone(options: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAObject;
20
+ /**
21
+ * returns true if the object has some opcua methods
22
+ */
23
+ get hasMethods(): boolean;
24
+ getMethodByName(methodName: QualifiedNameOptions): UAMethod | null;
25
+ getMethodByName(methodName: string, namespaceIndex?: number): UAMethod | null;
26
+ getMethods(): UAMethod[];
27
+ setEventNotifier(eventNotifierFlags: EventNotifierFlags): void;
28
+ /**
29
+ * Raise a transient Event
30
+ */
31
+ raiseEvent(eventType: EventTypeLike | BaseNode, data: RaiseEventData): void;
32
+ _bubble_up_event(eventData: IEventData): void;
33
+ _conditionRefresh(_cache?: ConditionRefreshCache): void;
34
+ toString(): string;
35
+ }