node-opcua-address-space 2.71.0 → 2.72.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +34 -34
  8. package/dist/source/helpers/argument_list.js +285 -285
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -17
  12. package/dist/source/helpers/check_event_clause.js +52 -52
  13. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  14. package/dist/source/helpers/coerce_enum_value.js +33 -33
  15. package/dist/source/helpers/dump_tools.d.ts +14 -14
  16. package/dist/source/helpers/dump_tools.js +78 -78
  17. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  18. package/dist/source/helpers/ensure_secure_access.js +76 -76
  19. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  20. package/dist/source/helpers/make_optionals_map.js +29 -29
  21. package/dist/source/helpers/multiform_func.d.ts +11 -11
  22. package/dist/source/helpers/multiform_func.js +73 -73
  23. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  24. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  25. package/dist/source/index.d.ts +40 -40
  26. package/dist/source/index.js +66 -66
  27. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  29. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  30. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  31. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  32. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  33. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  34. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  35. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  36. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  37. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  38. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  39. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  40. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  41. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  42. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  43. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  44. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  45. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  46. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  47. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  48. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  49. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  50. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  51. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  52. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  53. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  54. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  55. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  56. package/dist/source/loader/load_nodeset2.js +1468 -1464
  57. package/dist/source/loader/load_nodeset2.js.map +1 -1
  58. package/dist/source/loader/make_semver_compatible.d.ts +6 -0
  59. package/dist/source/loader/make_semver_compatible.js +26 -0
  60. package/dist/source/loader/make_semver_compatible.js.map +1 -0
  61. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  62. package/dist/source/loader/make_xml_extension_object_parser.js +325 -315
  63. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
  64. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  65. package/dist/source/loader/namespace_post_step.js +47 -47
  66. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  67. package/dist/source/loader/register_node_promoter.js +9 -9
  68. package/dist/source/namespace.d.ts +6 -6
  69. package/dist/source/namespace.js +2 -2
  70. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  71. package/dist/source/namespace_alarm_and_condition.js +2 -2
  72. package/dist/source/namespace_data_access.d.ts +42 -42
  73. package/dist/source/namespace_data_access.js +2 -2
  74. package/dist/source/namespace_machine_state.d.ts +7 -7
  75. package/dist/source/namespace_machine_state.js +2 -2
  76. package/dist/source/pseudo_session.d.ts +55 -55
  77. package/dist/source/pseudo_session.js +203 -203
  78. package/dist/source/session_context.d.ts +111 -111
  79. package/dist/source/session_context.js +265 -265
  80. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  81. package/dist/source/set_namespace_meta_data.js +59 -59
  82. package/dist/source/ua_root_folder.d.ts +9 -9
  83. package/dist/source/ua_root_folder.js +2 -2
  84. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  85. package/dist/source/ua_two_state_variable_ex.js +2 -2
  86. package/dist/source/xml_writer.d.ts +9 -9
  87. package/dist/source/xml_writer.js +2 -2
  88. package/dist/src/address_space.d.ts +392 -392
  89. package/dist/src/address_space.js +1387 -1387
  90. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  91. package/dist/src/address_space_change_event_tools.js +149 -149
  92. package/dist/src/address_space_private.d.ts +43 -43
  93. package/dist/src/address_space_private.js +2 -2
  94. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  95. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  96. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  97. package/dist/src/alarms_and_conditions/condition.js +80 -80
  98. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  99. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  100. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  101. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  102. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  103. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  104. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  105. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  106. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  107. package/dist/src/alarms_and_conditions/index.js +34 -34
  108. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +64 -62
  109. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  110. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  111. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +124 -118
  112. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  113. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  114. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  115. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  116. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +36 -21
  117. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +115 -25
  118. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  119. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +187 -182
  120. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1024 -1022
  121. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  122. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +18 -17
  123. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  124. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  125. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +30 -27
  126. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  127. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  128. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -9
  129. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  130. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  131. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +40 -38
  132. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  133. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  134. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  135. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  136. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +105 -97
  137. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  138. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  139. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +29 -28
  140. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  141. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  142. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +26 -25
  143. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  144. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  145. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +48 -39
  146. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +161 -135
  147. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  148. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +17 -16
  149. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  150. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  151. package/dist/src/apply_condition_refresh.d.ts +6 -6
  152. package/dist/src/apply_condition_refresh.js +27 -27
  153. package/dist/src/base_node_impl.d.ts +281 -281
  154. package/dist/src/base_node_impl.js +1395 -1395
  155. package/dist/src/base_node_private.d.ts +61 -61
  156. package/dist/src/base_node_private.js +705 -705
  157. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  158. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  159. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  160. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  161. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  162. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  163. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  164. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  165. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  166. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  167. package/dist/src/event_data.d.ts +29 -29
  168. package/dist/src/event_data.js +95 -95
  169. package/dist/src/extension_object_array_node.d.ts +61 -61
  170. package/dist/src/extension_object_array_node.js +276 -276
  171. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  172. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  173. package/dist/src/index_current.d.ts +45 -45
  174. package/dist/src/index_current.js +77 -77
  175. package/dist/src/namespace_impl.d.ts +457 -457
  176. package/dist/src/namespace_impl.js +1733 -1733
  177. package/dist/src/namespace_private.d.ts +21 -21
  178. package/dist/src/namespace_private.js +32 -32
  179. package/dist/src/nodeid_manager.d.ts +36 -36
  180. package/dist/src/nodeid_manager.js +197 -197
  181. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  182. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  183. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  184. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  185. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  186. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  187. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  188. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  189. package/dist/src/reference_impl.d.ts +43 -43
  190. package/dist/src/reference_impl.js +139 -139
  191. package/dist/src/role_permissions.d.ts +2 -2
  192. package/dist/src/role_permissions.js +10 -10
  193. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  194. package/dist/src/state_machine/finite_state_machine.js +353 -353
  195. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  196. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  197. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  198. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  199. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  200. package/dist/src/tool_isSupertypeOf.js +108 -108
  201. package/dist/src/ua_condition_type.d.ts +8 -8
  202. package/dist/src/ua_condition_type.js +2 -2
  203. package/dist/src/ua_data_type_impl.d.ts +93 -93
  204. package/dist/src/ua_data_type_impl.js +368 -368
  205. package/dist/src/ua_method_impl.d.ts +41 -41
  206. package/dist/src/ua_method_impl.js +208 -208
  207. package/dist/src/ua_object_impl.d.ts +35 -33
  208. package/dist/src/ua_object_impl.js +162 -156
  209. package/dist/src/ua_object_impl.js.map +1 -1
  210. package/dist/src/ua_object_type_impl.d.ts +48 -48
  211. package/dist/src/ua_object_type_impl.js +124 -124
  212. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  213. package/dist/src/ua_reference_type_impl.js +139 -139
  214. package/dist/src/ua_variable_impl.d.ts +351 -351
  215. package/dist/src/ua_variable_impl.js +1604 -1604
  216. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  217. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  218. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  219. package/dist/src/ua_variable_type_impl.js +570 -570
  220. package/dist/src/ua_view_impl.d.ts +19 -15
  221. package/dist/src/ua_view_impl.js +43 -36
  222. package/dist/src/ua_view_impl.js.map +1 -1
  223. package/distHelpers/add_event_generator_object.d.ts +3 -3
  224. package/distHelpers/add_event_generator_object.js +65 -65
  225. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  226. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  227. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  228. package/distHelpers/assertHasMatchingReference.js +40 -40
  229. package/distHelpers/boiler_system.d.ts +113 -113
  230. package/distHelpers/boiler_system.js +395 -395
  231. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  232. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  233. package/distHelpers/date_utils.d.ts +3 -3
  234. package/distHelpers/date_utils.js +9 -9
  235. package/distHelpers/dump_statemachine.js +127 -127
  236. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  237. package/distHelpers/get_address_space_fixture.js +30 -30
  238. package/distHelpers/get_mini_address_space.d.ts +7 -7
  239. package/distHelpers/get_mini_address_space.js +36 -36
  240. package/distHelpers/index.d.ts +12 -12
  241. package/distHelpers/index.js +28 -28
  242. package/distHelpers/mock_session.d.ts +14 -14
  243. package/distHelpers/mock_session.js +25 -25
  244. package/distNodeJS/generate_address_space.d.ts +4 -4
  245. package/distNodeJS/generate_address_space.js +41 -41
  246. package/distNodeJS/index.d.ts +1 -1
  247. package/distNodeJS/index.js +17 -17
  248. package/package.json +23 -23
  249. package/source/loader/load_nodeset2.ts +21 -17
  250. package/source/loader/make_semver_compatible.ts +23 -0
  251. package/source/loader/make_xml_extension_object_parser.ts +16 -6
  252. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +13 -6
  253. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +15 -10
  254. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +126 -10
  255. package/src/alarms_and_conditions/ua_condition_impl.ts +26 -13
  256. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +10 -4
  257. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +7 -6
  258. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +5 -3
  259. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +7 -6
  260. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +1 -1
  261. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +23 -13
  262. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +6 -7
  263. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +6 -7
  264. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +62 -30
  265. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +5 -5
  266. package/src/ua_object_impl.ts +11 -3
  267. package/src/ua_view_impl.ts +6 -4
  268. package/test_helpers/test_fixtures/dataType_issue.xml +9 -9
  269. package/test_helpers/test_fixtures/nodeset_with_guid.xml +1442 -0
  270. package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +31 -0
  271. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +0 -23
  272. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +0 -3
  273. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +0 -1
  274. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +0 -6
  275. package/dist/source/interfaces/data_access/ua_discrete_item.js +0 -3
  276. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +0 -1
  277. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +0 -25
  278. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +0 -3
  279. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +0 -1
  280. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +0 -27
  281. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +0 -3
  282. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +0 -1
  283. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +0 -17
  284. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +0 -3
  285. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +0 -1
  286. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +0 -19
  287. package/dist/source/interfaces/data_access/ua_y_array_item.js +0 -3
  288. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +0 -1
  289. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +0 -11
  290. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +0 -3
  291. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +0 -1
  292. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +0 -70
  293. package/dist/source/interfaces/state_machine/finite_state_machine.js +0 -3
  294. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +0 -1
  295. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +0 -74
  296. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +0 -3
  297. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +0 -1
  298. package/dist/source/interfaces/state_machine/state_machine.d.ts +0 -342
  299. package/dist/source/interfaces/state_machine/state_machine.js +0 -3
  300. package/dist/source/interfaces/state_machine/state_machine.js.map +0 -1
  301. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +0 -18
  302. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +0 -3
  303. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +0 -1
  304. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +0 -29
  305. package/dist/source/interfaces/state_machine/ua_state_variable.js +0 -3
  306. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +0 -1
  307. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +0 -26
  308. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +0 -3
  309. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +0 -1
  310. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +0 -41
  311. package/dist/source/interfaces/subscription_diagnostics_variable.js +0 -3
  312. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +0 -1
  313. package/dist/src/alarms_and_conditions/base_event_type.d.ts +0 -26
  314. package/dist/src/alarms_and_conditions/base_event_type.js +0 -41
  315. package/dist/src/alarms_and_conditions/base_event_type.js.map +0 -1
  316. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +0 -22
  317. package/dist/src/alarms_and_conditions/shelving_state_machine.js +0 -241
  318. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +0 -1
  319. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +0 -16
  320. package/dist/src/alarms_and_conditions/trip_alarm.js +0 -21
  321. package/dist/src/alarms_and_conditions/trip_alarm.js.map +0 -1
  322. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +0 -54
  323. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +0 -255
  324. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +0 -1
  325. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +0 -138
  326. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +0 -460
  327. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +0 -1
  328. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +0 -35
  329. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +0 -32
  330. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +0 -1
  331. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +0 -191
  332. package/dist/src/alarms_and_conditions/ua_condition_base.js +0 -1029
  333. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +0 -1
  334. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +0 -11
  335. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +0 -58
  336. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +0 -1
  337. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +0 -24
  338. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +0 -59
  339. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +0 -1
  340. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +0 -14
  341. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +0 -17
  342. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +0 -1
  343. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +0 -22
  344. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +0 -87
  345. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +0 -1
  346. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +0 -6
  347. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +0 -11
  348. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +0 -1
  349. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +0 -76
  350. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +0 -237
  351. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +0 -1
  352. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +0 -27
  353. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +0 -62
  354. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +0 -1
  355. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +0 -49
  356. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +0 -176
  357. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +0 -1
  358. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +0 -47
  359. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +0 -151
  360. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +0 -1
  361. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +0 -16
  362. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +0 -18
  363. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +0 -1
  364. package/dist/src/base_node.d.ts +0 -270
  365. package/dist/src/base_node.js +0 -1299
  366. package/dist/src/base_node.js.map +0 -1
  367. package/dist/src/data_access/ua_analog_item.d.ts +0 -13
  368. package/dist/src/data_access/ua_analog_item.js +0 -37
  369. package/dist/src/data_access/ua_analog_item.js.map +0 -1
  370. package/dist/src/data_access/ua_data_item.d.ts +0 -16
  371. package/dist/src/data_access/ua_data_item.js +0 -66
  372. package/dist/src/data_access/ua_data_item.js.map +0 -1
  373. package/dist/src/data_access/ua_multistate_discrete.d.ts +0 -24
  374. package/dist/src/data_access/ua_multistate_discrete.js +0 -132
  375. package/dist/src/data_access/ua_multistate_discrete.js.map +0 -1
  376. package/dist/src/namespace.d.ts +0 -472
  377. package/dist/src/namespace.js +0 -1759
  378. package/dist/src/namespace.js.map +0 -1
  379. package/dist/src/reference.d.ts +0 -43
  380. package/dist/src/reference.js +0 -138
  381. package/dist/src/reference.js.map +0 -1
  382. package/dist/src/session_context.d.ts +0 -4
  383. package/dist/src/session_context.js +0 -9
  384. package/dist/src/session_context.js.map +0 -1
  385. package/dist/src/ua_data_type.d.ts +0 -81
  386. package/dist/src/ua_data_type.js +0 -259
  387. package/dist/src/ua_data_type.js.map +0 -1
  388. package/dist/src/ua_method.d.ts +0 -33
  389. package/dist/src/ua_method.js +0 -194
  390. package/dist/src/ua_method.js.map +0 -1
  391. package/dist/src/ua_object.d.ts +0 -27
  392. package/dist/src/ua_object.js +0 -153
  393. package/dist/src/ua_object.js.map +0 -1
  394. package/dist/src/ua_object_type.d.ts +0 -49
  395. package/dist/src/ua_object_type.js +0 -123
  396. package/dist/src/ua_object_type.js.map +0 -1
  397. package/dist/src/ua_reference_type.d.ts +0 -31
  398. package/dist/src/ua_reference_type.js +0 -108
  399. package/dist/src/ua_reference_type.js.map +0 -1
  400. package/dist/src/ua_variable.d.ts +0 -346
  401. package/dist/src/ua_variable.js +0 -1651
  402. package/dist/src/ua_variable.js.map +0 -1
  403. package/dist/src/ua_variable_type.d.ts +0 -57
  404. package/dist/src/ua_variable_type.js +0 -530
  405. package/dist/src/ua_variable_type.js.map +0 -1
  406. package/dist/src/ua_view.d.ts +0 -16
  407. package/dist/src/ua_view.js +0 -41
  408. package/dist/src/ua_view.js.map +0 -1
@@ -1,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,33 +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 } 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
- readonly nodeClass = NodeClass.Object;
10
- readonly eventNotifier: number;
11
- readonly symbolicName: string | null;
12
- get typeDefinitionObj(): UAObjectType;
13
- constructor(options: InternalBaseNodeOptions & {
14
- eventNotifier?: number;
15
- symbolicName?: string | null;
16
- });
17
- readAttribute(context: ISessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
18
- clone(options: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAObject;
19
- /**
20
- * returns true if the object has some opcua methods
21
- */
22
- get hasMethods(): boolean;
23
- getMethodByName(methodName: QualifiedNameOptions): UAMethod | null;
24
- getMethodByName(methodName: string, namespaceIndex?: number): UAMethod | null;
25
- getMethods(): UAMethod[];
26
- /**
27
- * Raise a transient Event
28
- */
29
- raiseEvent(eventType: EventTypeLike | BaseNode, data: RaiseEventData): void;
30
- _bubble_up_event(eventData: IEventData): void;
31
- _conditionRefresh(_cache?: ConditionRefreshCache): void;
32
- toString(): string;
33
- }
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
+ }