node-opcua-address-space 2.70.3 → 2.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +34 -34
  8. package/dist/source/helpers/argument_list.js +285 -285
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -17
  12. package/dist/source/helpers/check_event_clause.js +52 -52
  13. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  14. package/dist/source/helpers/coerce_enum_value.js +33 -33
  15. package/dist/source/helpers/dump_tools.d.ts +14 -14
  16. package/dist/source/helpers/dump_tools.js +78 -78
  17. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  18. package/dist/source/helpers/ensure_secure_access.js +76 -76
  19. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  20. package/dist/source/helpers/make_optionals_map.js +29 -29
  21. package/dist/source/helpers/multiform_func.d.ts +11 -11
  22. package/dist/source/helpers/multiform_func.js +73 -73
  23. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  24. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  25. package/dist/source/index.d.ts +40 -40
  26. package/dist/source/index.js +66 -66
  27. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  29. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +23 -0
  30. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +3 -0
  31. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +1 -0
  32. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +6 -0
  33. package/dist/source/interfaces/data_access/ua_discrete_item.js +3 -0
  34. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +1 -0
  35. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +25 -0
  36. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +3 -0
  37. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +1 -0
  38. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  39. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  40. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +27 -0
  41. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +3 -0
  42. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +1 -0
  43. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  44. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  45. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +17 -0
  46. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +3 -0
  47. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +1 -0
  48. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  49. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  50. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +19 -0
  51. package/dist/source/interfaces/data_access/ua_y_array_item.js +3 -0
  52. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +1 -0
  53. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  54. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  55. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +11 -0
  56. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +3 -0
  57. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +1 -0
  58. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +70 -0
  59. package/dist/source/interfaces/state_machine/finite_state_machine.js +3 -0
  60. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +1 -0
  61. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +74 -0
  62. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +3 -0
  63. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +1 -0
  64. package/dist/source/interfaces/state_machine/state_machine.d.ts +342 -0
  65. package/dist/source/interfaces/state_machine/state_machine.js +3 -0
  66. package/dist/source/interfaces/state_machine/state_machine.js.map +1 -0
  67. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  68. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  69. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  70. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  71. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +18 -0
  72. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +3 -0
  73. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +1 -0
  74. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  75. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  76. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  77. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  78. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +29 -0
  79. package/dist/source/interfaces/state_machine/ua_state_variable.js +3 -0
  80. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +1 -0
  81. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  82. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  83. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +26 -0
  84. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +3 -0
  85. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +1 -0
  86. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +41 -0
  87. package/dist/source/interfaces/subscription_diagnostics_variable.js +3 -0
  88. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +1 -0
  89. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  90. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  91. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  92. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  93. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  94. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  95. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  96. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  97. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  98. package/dist/source/loader/load_nodeset2.js +1464 -1464
  99. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  100. package/dist/source/loader/make_xml_extension_object_parser.js +315 -315
  101. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  102. package/dist/source/loader/namespace_post_step.js +47 -47
  103. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  104. package/dist/source/loader/register_node_promoter.js +9 -9
  105. package/dist/source/namespace.d.ts +6 -6
  106. package/dist/source/namespace.js +2 -2
  107. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  108. package/dist/source/namespace_alarm_and_condition.js +2 -2
  109. package/dist/source/namespace_data_access.d.ts +42 -42
  110. package/dist/source/namespace_data_access.js +2 -2
  111. package/dist/source/namespace_machine_state.d.ts +7 -7
  112. package/dist/source/namespace_machine_state.js +2 -2
  113. package/dist/source/pseudo_session.d.ts +55 -55
  114. package/dist/source/pseudo_session.js +203 -203
  115. package/dist/source/session_context.d.ts +111 -111
  116. package/dist/source/session_context.js +265 -265
  117. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  118. package/dist/source/set_namespace_meta_data.js +59 -59
  119. package/dist/source/ua_root_folder.d.ts +9 -9
  120. package/dist/source/ua_root_folder.js +2 -2
  121. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  122. package/dist/source/ua_two_state_variable_ex.js +2 -2
  123. package/dist/source/xml_writer.d.ts +9 -9
  124. package/dist/source/xml_writer.js +2 -2
  125. package/dist/src/address_space.d.ts +392 -392
  126. package/dist/src/address_space.js +1387 -1387
  127. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  128. package/dist/src/address_space_change_event_tools.js +149 -149
  129. package/dist/src/address_space_private.d.ts +43 -43
  130. package/dist/src/address_space_private.js +2 -2
  131. package/dist/src/alarms_and_conditions/base_event_type.d.ts +26 -0
  132. package/dist/src/alarms_and_conditions/base_event_type.js +41 -0
  133. package/dist/src/alarms_and_conditions/base_event_type.js.map +1 -0
  134. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  135. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  136. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  137. package/dist/src/alarms_and_conditions/condition.js +80 -80
  138. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  139. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  140. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  141. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  142. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  143. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  144. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  145. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  146. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  147. package/dist/src/alarms_and_conditions/index.js +34 -34
  148. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +22 -0
  149. package/dist/src/alarms_and_conditions/shelving_state_machine.js +241 -0
  150. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +1 -0
  151. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +16 -0
  152. package/dist/src/alarms_and_conditions/trip_alarm.js +21 -0
  153. package/dist/src/alarms_and_conditions/trip_alarm.js.map +1 -0
  154. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +54 -0
  155. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +255 -0
  156. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +1 -0
  157. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +62 -62
  158. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  159. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +138 -0
  160. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +460 -0
  161. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +1 -0
  162. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +118 -118
  163. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  164. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  165. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  166. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +35 -0
  167. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +32 -0
  168. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +1 -0
  169. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +21 -21
  170. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +25 -25
  171. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +191 -0
  172. package/dist/src/alarms_and_conditions/ua_condition_base.js +1029 -0
  173. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +1 -0
  174. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +182 -182
  175. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1022 -1022
  176. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +11 -0
  177. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +58 -0
  178. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +1 -0
  179. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +17 -17
  180. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  181. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +24 -0
  182. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +59 -0
  183. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +1 -0
  184. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +27 -27
  185. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  186. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +14 -0
  187. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +17 -0
  188. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +1 -0
  189. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +9 -9
  190. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  191. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +22 -0
  192. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +87 -0
  193. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +1 -0
  194. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +38 -38
  195. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  196. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +6 -0
  197. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +11 -0
  198. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +1 -0
  199. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  200. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  201. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +76 -0
  202. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +237 -0
  203. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +1 -0
  204. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +97 -97
  205. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  206. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +27 -0
  207. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +62 -0
  208. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +1 -0
  209. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -28
  210. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  211. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +49 -0
  212. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +176 -0
  213. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +1 -0
  214. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +25 -25
  215. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  216. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +47 -0
  217. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +151 -0
  218. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +1 -0
  219. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +39 -39
  220. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +135 -135
  221. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +16 -0
  222. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +18 -0
  223. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +1 -0
  224. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +16 -16
  225. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  226. package/dist/src/apply_condition_refresh.d.ts +6 -6
  227. package/dist/src/apply_condition_refresh.js +27 -27
  228. package/dist/src/base_node.d.ts +270 -0
  229. package/dist/src/base_node.js +1299 -0
  230. package/dist/src/base_node.js.map +1 -0
  231. package/dist/src/base_node_impl.d.ts +281 -281
  232. package/dist/src/base_node_impl.js +1395 -1395
  233. package/dist/src/base_node_private.d.ts +61 -61
  234. package/dist/src/base_node_private.js +705 -705
  235. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  236. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  237. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  238. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  239. package/dist/src/data_access/ua_analog_item.d.ts +13 -0
  240. package/dist/src/data_access/ua_analog_item.js +37 -0
  241. package/dist/src/data_access/ua_analog_item.js.map +1 -0
  242. package/dist/src/data_access/ua_data_item.d.ts +16 -0
  243. package/dist/src/data_access/ua_data_item.js +66 -0
  244. package/dist/src/data_access/ua_data_item.js.map +1 -0
  245. package/dist/src/data_access/ua_multistate_discrete.d.ts +24 -0
  246. package/dist/src/data_access/ua_multistate_discrete.js +132 -0
  247. package/dist/src/data_access/ua_multistate_discrete.js.map +1 -0
  248. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  249. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  250. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  251. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  252. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  253. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  254. package/dist/src/event_data.d.ts +29 -29
  255. package/dist/src/event_data.js +95 -95
  256. package/dist/src/extension_object_array_node.d.ts +61 -61
  257. package/dist/src/extension_object_array_node.js +276 -276
  258. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  259. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  260. package/dist/src/index_current.d.ts +45 -45
  261. package/dist/src/index_current.js +77 -77
  262. package/dist/src/namespace.d.ts +472 -0
  263. package/dist/src/namespace.js +1759 -0
  264. package/dist/src/namespace.js.map +1 -0
  265. package/dist/src/namespace_impl.d.ts +457 -457
  266. package/dist/src/namespace_impl.js +1733 -1733
  267. package/dist/src/namespace_private.d.ts +21 -21
  268. package/dist/src/namespace_private.js +32 -32
  269. package/dist/src/nodeid_manager.d.ts +36 -36
  270. package/dist/src/nodeid_manager.js +197 -197
  271. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  272. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  273. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  274. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  275. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  276. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  277. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  278. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  279. package/dist/src/reference.d.ts +43 -0
  280. package/dist/src/reference.js +138 -0
  281. package/dist/src/reference.js.map +1 -0
  282. package/dist/src/reference_impl.d.ts +43 -43
  283. package/dist/src/reference_impl.js +139 -139
  284. package/dist/src/role_permissions.d.ts +2 -2
  285. package/dist/src/role_permissions.js +10 -10
  286. package/dist/src/session_context.d.ts +4 -0
  287. package/dist/src/session_context.js +9 -0
  288. package/dist/src/session_context.js.map +1 -0
  289. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  290. package/dist/src/state_machine/finite_state_machine.js +353 -353
  291. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  292. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  293. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  294. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  295. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  296. package/dist/src/tool_isSupertypeOf.js +108 -108
  297. package/dist/src/ua_condition_type.d.ts +8 -8
  298. package/dist/src/ua_condition_type.js +2 -2
  299. package/dist/src/ua_data_type.d.ts +81 -0
  300. package/dist/src/ua_data_type.js +259 -0
  301. package/dist/src/ua_data_type.js.map +1 -0
  302. package/dist/src/ua_data_type_impl.d.ts +93 -93
  303. package/dist/src/ua_data_type_impl.js +368 -368
  304. package/dist/src/ua_method.d.ts +33 -0
  305. package/dist/src/ua_method.js +194 -0
  306. package/dist/src/ua_method.js.map +1 -0
  307. package/dist/src/ua_method_impl.d.ts +41 -41
  308. package/dist/src/ua_method_impl.js +208 -208
  309. package/dist/src/ua_object.d.ts +27 -0
  310. package/dist/src/ua_object.js +153 -0
  311. package/dist/src/ua_object.js.map +1 -0
  312. package/dist/src/ua_object_impl.d.ts +33 -33
  313. package/dist/src/ua_object_impl.js +156 -156
  314. package/dist/src/ua_object_type.d.ts +49 -0
  315. package/dist/src/ua_object_type.js +123 -0
  316. package/dist/src/ua_object_type.js.map +1 -0
  317. package/dist/src/ua_object_type_impl.d.ts +48 -48
  318. package/dist/src/ua_object_type_impl.js +124 -124
  319. package/dist/src/ua_reference_type.d.ts +31 -0
  320. package/dist/src/ua_reference_type.js +108 -0
  321. package/dist/src/ua_reference_type.js.map +1 -0
  322. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  323. package/dist/src/ua_reference_type_impl.js +139 -139
  324. package/dist/src/ua_variable.d.ts +346 -0
  325. package/dist/src/ua_variable.js +1651 -0
  326. package/dist/src/ua_variable.js.map +1 -0
  327. package/dist/src/ua_variable_impl.d.ts +351 -351
  328. package/dist/src/ua_variable_impl.js +1604 -1604
  329. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  330. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  331. package/dist/src/ua_variable_type.d.ts +57 -0
  332. package/dist/src/ua_variable_type.js +530 -0
  333. package/dist/src/ua_variable_type.js.map +1 -0
  334. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  335. package/dist/src/ua_variable_type_impl.js +570 -564
  336. package/dist/src/ua_variable_type_impl.js.map +1 -1
  337. package/dist/src/ua_view.d.ts +16 -0
  338. package/dist/src/ua_view.js +41 -0
  339. package/dist/src/ua_view.js.map +1 -0
  340. package/dist/src/ua_view_impl.d.ts +15 -15
  341. package/dist/src/ua_view_impl.js +36 -36
  342. package/distHelpers/add_event_generator_object.d.ts +3 -3
  343. package/distHelpers/add_event_generator_object.js +65 -65
  344. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  345. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  346. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  347. package/distHelpers/assertHasMatchingReference.js +40 -40
  348. package/distHelpers/boiler_system.d.ts +113 -113
  349. package/distHelpers/boiler_system.js +395 -395
  350. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  351. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  352. package/distHelpers/date_utils.d.ts +3 -3
  353. package/distHelpers/date_utils.js +9 -9
  354. package/distHelpers/dump_statemachine.js +127 -127
  355. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  356. package/distHelpers/get_address_space_fixture.js +30 -30
  357. package/distHelpers/get_mini_address_space.d.ts +7 -7
  358. package/distHelpers/get_mini_address_space.js +36 -36
  359. package/distHelpers/index.d.ts +12 -12
  360. package/distHelpers/index.js +28 -28
  361. package/distHelpers/mock_session.d.ts +14 -14
  362. package/distHelpers/mock_session.js +25 -25
  363. package/distNodeJS/generate_address_space.d.ts +4 -4
  364. package/distNodeJS/generate_address_space.js +41 -41
  365. package/distNodeJS/index.d.ts +1 -1
  366. package/distNodeJS/index.js +17 -17
  367. package/package.json +38 -38
  368. package/src/ua_variable_type_impl.ts +11 -4
  369. package/test_helpers/test_fixtures/eurange_issue.xml +73 -0
@@ -1,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
@@ -0,0 +1,27 @@
1
+ import { NodeClass } from "node-opcua-data-model";
2
+ import { AttributeIds } from "node-opcua-data-model";
3
+ import { DataValue } from "node-opcua-data-value";
4
+ import { EventTypeLike, RaiseEventData, SessionContext, UAMethod as UAMethodPublic, UAObject as UAObjectPublic, UAObjectType as UAObjectTypePublic } from "../source";
5
+ import { BaseNode } from "./base_node";
6
+ export declare class UAObject extends BaseNode implements UAObjectPublic {
7
+ readonly nodeClass = NodeClass.Object;
8
+ readonly eventNotifier: number;
9
+ readonly symbolicName: string;
10
+ get typeDefinitionObj(): UAObjectTypePublic;
11
+ constructor(options: any);
12
+ readAttribute(context: SessionContext, attributeId: AttributeIds): DataValue;
13
+ clone(options: any, optionalFilter?: any, extraInfo?: any): UAObject;
14
+ /**
15
+ * returns true if the object has some opcua methods
16
+ */
17
+ get hasMethods(): boolean;
18
+ getMethodByName(methodName: string): UAMethodPublic | null;
19
+ getMethods(): UAMethodPublic[];
20
+ /**
21
+ * Raise a transient Event
22
+ */
23
+ raiseEvent(eventType: EventTypeLike | BaseNode, data: RaiseEventData): void;
24
+ _bubble_up_event(eventData: any): void;
25
+ _conditionRefresh(_cache?: any): void;
26
+ toString(): string;
27
+ }
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UAObject = void 0;
4
+ /**
5
+ * @module node-opcua-address-space
6
+ */
7
+ const chalk = require("chalk");
8
+ const node_opcua_assert_1 = require("node-opcua-assert");
9
+ const node_opcua_basic_types_1 = require("node-opcua-basic-types");
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_date_time_1 = require("node-opcua-date-time");
14
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
15
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
16
+ const node_opcua_variant_1 = require("node-opcua-variant");
17
+ const base_node_1 = require("./base_node");
18
+ const base_node_private_1 = require("./base_node_private");
19
+ class UAObject extends base_node_1.BaseNode {
20
+ constructor(options) {
21
+ super(options);
22
+ this.nodeClass = node_opcua_data_model_1.NodeClass.Object;
23
+ this.eventNotifier = options.eventNotifier || 0;
24
+ node_opcua_assert_1.assert(typeof this.eventNotifier === "number" && node_opcua_basic_types_1.isValidByte(this.eventNotifier));
25
+ this.symbolicName = options.symbolicName || null;
26
+ }
27
+ get typeDefinitionObj() {
28
+ return super.typeDefinitionObj;
29
+ }
30
+ readAttribute(context, attributeId) {
31
+ const now = node_opcua_date_time_1.getCurrentClock();
32
+ const options = {};
33
+ switch (attributeId) {
34
+ case node_opcua_data_model_2.AttributeIds.EventNotifier:
35
+ node_opcua_assert_1.assert(node_opcua_basic_types_1.isValidByte(this.eventNotifier));
36
+ options.value = { dataType: node_opcua_variant_1.DataType.Byte, value: this.eventNotifier };
37
+ options.serverTimestamp = now.timestamp;
38
+ options.serverPicoseconds = now.picoseconds;
39
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
40
+ break;
41
+ default:
42
+ return base_node_1.BaseNode.prototype.readAttribute.call(this, context, attributeId);
43
+ }
44
+ return new node_opcua_data_value_1.DataValue(options);
45
+ }
46
+ clone(options, optionalFilter, extraInfo) {
47
+ options = options || {};
48
+ options = Object.assign(Object.assign({}, options), { eventNotifier: this.eventNotifier, symbolicName: this.symbolicName });
49
+ const cloneObject = base_node_private_1._clone.call(this, UAObject, options, optionalFilter, extraInfo);
50
+ // xx newObject.propagate_back_references();
51
+ // xx newObject.install_extra_properties();
52
+ return cloneObject;
53
+ }
54
+ /**
55
+ * returns true if the object has some opcua methods
56
+ */
57
+ get hasMethods() {
58
+ return this.getMethods().length > 0;
59
+ }
60
+ getMethodByName(methodName) {
61
+ return super.getMethodByName(methodName);
62
+ }
63
+ getMethods() {
64
+ return super.getMethods();
65
+ }
66
+ /**
67
+ * Raise a transient Event
68
+ */
69
+ raiseEvent(eventType, data) {
70
+ const addressSpace = this.addressSpace;
71
+ if (typeof eventType === "string") {
72
+ const eventTypeFound = addressSpace.findEventType(eventType);
73
+ if (!eventTypeFound) {
74
+ throw new Error("raiseEvent: eventType cannot find event Type " + eventType.toString());
75
+ }
76
+ eventType = eventTypeFound;
77
+ if (!eventType || eventType.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
78
+ throw new Error("eventType must exist and be an UAObjectType" + eventType.toString());
79
+ }
80
+ }
81
+ else if (eventType instanceof node_opcua_nodeid_1.NodeId) {
82
+ const eventTypeFound = addressSpace.findNode(eventType);
83
+ if (!eventTypeFound) {
84
+ throw new Error("raiseEvent: eventType cannot find event Type " + eventType.toString());
85
+ }
86
+ eventType = eventTypeFound;
87
+ if (!eventType || eventType.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
88
+ throw new Error("eventType must exist and be an UAObjectType" + eventType.toString());
89
+ }
90
+ }
91
+ eventType = eventType;
92
+ let eventTypeNode = eventType;
93
+ // istanbul ignore next
94
+ if (!eventTypeNode) {
95
+ throw new Error("UAObject#raiseEventType : Cannot find event type :" + eventType.toString());
96
+ }
97
+ // coerce EventType
98
+ eventTypeNode = addressSpace.findEventType(eventType);
99
+ const baseEventType = addressSpace.findEventType("BaseEventType");
100
+ node_opcua_assert_1.assert(eventTypeNode.isSupertypeOf(baseEventType));
101
+ data.$eventDataSource = eventTypeNode;
102
+ data.sourceNode = data.sourceNode || { dataType: node_opcua_variant_1.DataType.NodeId, value: this.nodeId };
103
+ const eventData1 = addressSpace.constructEventData(eventTypeNode, data);
104
+ this._bubble_up_event(eventData1);
105
+ }
106
+ _bubble_up_event(eventData) {
107
+ const addressSpace = this.addressSpace;
108
+ const queue = [];
109
+ // walk up the hasNotify / hasEventSource chain
110
+ const m = {};
111
+ // all events are notified to the server object
112
+ // emit on server object
113
+ const server = addressSpace.findNode("Server");
114
+ if (server) {
115
+ node_opcua_assert_1.assert(server.eventNotifier > 0x00, "Server must be an event notifier");
116
+ server.emit("event", eventData);
117
+ m[server.nodeId.toString()] = server;
118
+ }
119
+ else {
120
+ // tslint:disable:no-console
121
+ console.warn(chalk.yellow("Warning. ") +
122
+ chalk.cyan("UAObject#raiseEvent") +
123
+ chalk.red(" cannot find Server object on addressSpace"));
124
+ }
125
+ addinqueue(this);
126
+ function addinqueue(obj) {
127
+ const key = obj.nodeId.toString();
128
+ if (!m[key]) {
129
+ m[key] = obj;
130
+ queue.push(obj);
131
+ }
132
+ }
133
+ while (queue.length) {
134
+ const obj = queue.pop();
135
+ // emit on object
136
+ obj.emit("event", eventData);
137
+ const elements1 = obj.findReferencesAsObject("HasNotifier", false);
138
+ elements1.forEach(addinqueue);
139
+ const elements2 = obj.findReferencesAsObject("HasEventSource", false);
140
+ elements2.forEach(addinqueue);
141
+ }
142
+ }
143
+ _conditionRefresh(_cache) {
144
+ base_node_private_1.apply_condition_refresh.call(this, _cache);
145
+ }
146
+ toString() {
147
+ const options = new base_node_private_1.ToStringBuilder();
148
+ base_node_private_1.UAObject_toString.call(this, options);
149
+ return options.toString();
150
+ }
151
+ }
152
+ exports.UAObject = UAObject;
153
+ //# sourceMappingURL=ua_object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_object.js","sourceRoot":"","sources":["../../src/ua_object.ts"],"names":[],"mappings":"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"}