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,286 +1,286 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.build_retrieveInputArgumentsDefinition = exports.verifyArguments_ArgumentList = exports.isArgumentValid = exports.getMethodDeclaration_ArgumentList = exports.binaryStoreSize_ArgumentList = exports.decode_ArgumentList = exports.encode_ArgumentList = void 0;
4
- /* eslint-disable complexity */
5
- /**
6
- * @module node-opcua-address-space
7
- */
8
- const node_opcua_assert_1 = require("node-opcua-assert");
9
- const ec = require("node-opcua-basic-types");
10
- const node_opcua_binary_stream_1 = require("node-opcua-binary-stream");
11
- const node_opcua_debug_1 = require("node-opcua-debug");
12
- const factories = require("node-opcua-factory");
13
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
14
- const node_opcua_status_code_1 = require("node-opcua-status-code");
15
- const node_opcua_variant_1 = require("node-opcua-variant");
16
- const node_opcua_variant_2 = require("node-opcua-variant");
17
- const node_opcua_constants_1 = require("node-opcua-constants");
18
- const node_opcua_data_model_1 = require("node-opcua-data-model");
19
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
20
- const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
21
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
22
- function myfindBuiltInType(dataType) {
23
- return factories.findBuiltInType(node_opcua_variant_1.DataType[dataType]);
24
- }
25
- function encode_ArgumentList(definition, args, stream) {
26
- (0, node_opcua_assert_1.assert)(definition.length === args.length);
27
- (0, node_opcua_assert_1.assert)(Array.isArray(definition));
28
- (0, node_opcua_assert_1.assert)(Array.isArray(args));
29
- (0, node_opcua_assert_1.assert)(definition.length === args.length);
30
- (0, node_opcua_assert_1.assert)(definition.length >= 0);
31
- // we only encode arguments by following the definition
32
- for (let i = 0; i < definition.length; i++) {
33
- const def = definition[i];
34
- const value = args[i];
35
- const encodeFunc = myfindBuiltInType(def.dataType).encode;
36
- // assert((def.valueRank === -1) || (def.valueRank === 0));
37
- // todo : handle -3 -2
38
- const isArray = def.valueRank && (def.valueRank === 1 || def.valueRank !== -1);
39
- if (isArray) {
40
- ec.encodeArray(value, stream, encodeFunc);
41
- }
42
- else {
43
- encodeFunc(value, stream);
44
- }
45
- }
46
- }
47
- exports.encode_ArgumentList = encode_ArgumentList;
48
- function decode_ArgumentList(definition, stream) {
49
- if (!Array.isArray(definition)) {
50
- throw new Error("This BaseDataType cannot be decoded because it has no definition.\n" +
51
- "Please construct a BaseDataType({definition : [{dataType: DataType.UInt32 }]});");
52
- }
53
- const args = [];
54
- let value;
55
- for (const def of definition) {
56
- const decodeFunc = myfindBuiltInType(def.dataType).decode;
57
- // xx assert(def.valueRank === -1 || def.valueRank==0);
58
- const isArray = def.valueRank === 1 || def.valueRank === -1;
59
- if (isArray) {
60
- value = ec.decodeArray(stream, decodeFunc);
61
- }
62
- else {
63
- value = decodeFunc(stream);
64
- }
65
- args.push(value);
66
- }
67
- return args;
68
- }
69
- exports.decode_ArgumentList = decode_ArgumentList;
70
- function binaryStoreSize_ArgumentList(description, args) {
71
- (0, node_opcua_assert_1.assert)(Array.isArray(description));
72
- (0, node_opcua_assert_1.assert)(Array.isArray(args));
73
- (0, node_opcua_assert_1.assert)(args.length === description.length);
74
- const stream = new node_opcua_binary_stream_1.BinaryStreamSizeCalculator();
75
- encode_ArgumentList(description, args, stream);
76
- return stream.length;
77
- }
78
- exports.binaryStoreSize_ArgumentList = binaryStoreSize_ArgumentList;
79
- function getMethodDeclaration_ArgumentList(addressSpace, objectId, methodId) {
80
- // find object in address space
81
- const obj = addressSpace.findNode(objectId);
82
- if (!obj) {
83
- // istanbul ignore next
84
- if (doDebug) {
85
- debugLog("cannot find node ", objectId.toString());
86
- }
87
- return { statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown };
88
- }
89
- let objectMethod = obj.getMethodById(methodId);
90
- if (!objectMethod) {
91
- // the method doesn't belong to the object, nevertheless
92
- // the method can be called
93
- objectMethod = addressSpace.findNode(methodId);
94
- if (!objectMethod || objectMethod.nodeClass !== node_opcua_data_model_1.NodeClass.Method) {
95
- warningLog("cannot find method with id", methodId.toString(), "object Id = ", objectId.toString());
96
- return { statusCode: node_opcua_status_code_1.StatusCodes.BadMethodInvalid };
97
- }
98
- }
99
- const methodDeclarationId = objectMethod.methodDeclarationId;
100
- const methodDeclaration = addressSpace.findNode(methodDeclarationId);
101
- if (!methodDeclaration) {
102
- // return {statusCode: StatusCodes.BadMethodInvalid};
103
- return { statusCode: node_opcua_status_code_1.StatusCodes.Good, methodDeclaration: objectMethod };
104
- }
105
- // istanbul ignore next
106
- if (methodDeclaration.nodeClass !== node_opcua_data_model_1.NodeClass.Method) {
107
- throw new Error("Expecting a Method here");
108
- }
109
- return { statusCode: node_opcua_status_code_1.StatusCodes.Good, methodDeclaration };
110
- }
111
- exports.getMethodDeclaration_ArgumentList = getMethodDeclaration_ArgumentList;
112
- function checkValueRank(argDefinition, arg) {
113
- const isArray = arg.arrayType === node_opcua_variant_2.VariantArrayType.Array;
114
- const isMatrix = arg.arrayType === node_opcua_variant_2.VariantArrayType.Matrix;
115
- if (argDefinition.valueRank > 0) {
116
- if (argDefinition.valueRank === 1) {
117
- if (!isArray) {
118
- return false;
119
- }
120
- }
121
- else {
122
- if (!isMatrix) {
123
- return false;
124
- }
125
- }
126
- }
127
- else if (argDefinition.valueRank === -1) {
128
- // SCALAR
129
- if (isArray || isMatrix) {
130
- return false;
131
- }
132
- }
133
- else if (argDefinition.valueRank === -2) {
134
- // ANY
135
- }
136
- else if (argDefinition.valueRank === -3) {
137
- // Scalar or OneDim
138
- if (isMatrix) {
139
- return false;
140
- }
141
- }
142
- else if (argDefinition.valueRank === 0) {
143
- // array or matrix
144
- if (!isArray && !isMatrix) {
145
- return false;
146
- }
147
- }
148
- return true;
149
- }
150
- /**
151
- * @private
152
- */
153
- function isArgumentValid(addressSpace, argDefinition, arg) {
154
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(argDefinition, "dataType"));
155
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(argDefinition, "valueRank"));
156
- const argDefDataType = addressSpace.findDataType(argDefinition.dataType);
157
- const argDataType = addressSpace.findDataType((0, node_opcua_nodeid_1.resolveNodeId)(arg.dataType));
158
- // istanbul ignore next
159
- if (!argDefDataType) {
160
- debugLog("dataType ", argDefinition.dataType.toString(), "doesn't exist");
161
- return false;
162
- }
163
- if (argDefinition.valueRank >= 0 && arg.dataType === node_opcua_variant_1.DataType.Null) {
164
- // this is valid to receive an empty array ith DataType.Null;
165
- return true;
166
- }
167
- if (!checkValueRank(argDefinition, arg)) {
168
- return false;
169
- }
170
- // istanbul ignore next
171
- if (!argDataType) {
172
- debugLog(" cannot find dataType ", arg.dataType, (0, node_opcua_nodeid_1.resolveNodeId)(arg.dataType));
173
- debugLog(" arg = ", arg.toString());
174
- debugLog(" def =", argDefinition.toString());
175
- return false;
176
- }
177
- // istanbul ignore next
178
- if (doDebug) {
179
- debugLog(" checking argDefDataType ", argDefDataType.toString());
180
- debugLog(" checking argDataType ", argDataType.toString());
181
- }
182
- if (argDataType.nodeId.value === argDefDataType.nodeId.value) {
183
- return true;
184
- }
185
- // check that dataType is of the same type (derived )
186
- if (argDefDataType.isSupertypeOf(argDataType)) {
187
- // like argDefDataType IntegerId and argDataType Uint32
188
- return true;
189
- }
190
- if (argDataType.isSupertypeOf(argDefDataType)) {
191
- // like argDefDataType BaseDataType and argDataType any Type
192
- return true;
193
- }
194
- // special case for Enumeration
195
- if (arg.dataType === node_opcua_variant_1.DataType.Int32) {
196
- const enumDataType = addressSpace.findDataType((0, node_opcua_nodeid_1.coerceNodeId)(node_opcua_constants_1.DataTypeIds.Enumeration));
197
- if (argDefDataType.isSupertypeOf(enumDataType)) {
198
- return true;
199
- }
200
- }
201
- return false;
202
- }
203
- exports.isArgumentValid = isArgumentValid;
204
- /**
205
- * @method verifyArguments_ArgumentList
206
- * @param addressSpace
207
- * @param methodInputArguments
208
- * @param inputArguments
209
- * @return statusCode,inputArgumentResults
210
- */
211
- function verifyArguments_ArgumentList(addressSpace, methodInputArguments, inputArguments) {
212
- if (!inputArguments) {
213
- // it is possible to not provide inputArguments when method has no arguments
214
- return methodInputArguments.length === 0
215
- ? { statusCode: node_opcua_status_code_1.StatusCodes.Good }
216
- : { statusCode: node_opcua_status_code_1.StatusCodes.BadArgumentsMissing };
217
- }
218
- const inputArgumentResults = methodInputArguments.map((methodInputArgument, index) => {
219
- const argument = inputArguments[index];
220
- if (!argument) {
221
- return node_opcua_status_code_1.StatusCodes.BadNoData;
222
- }
223
- else if (!isArgumentValid(addressSpace, methodInputArgument, argument)) {
224
- return node_opcua_status_code_1.StatusCodes.BadTypeMismatch;
225
- }
226
- else {
227
- return node_opcua_status_code_1.StatusCodes.Good;
228
- }
229
- });
230
- if (methodInputArguments.length > inputArguments.length) {
231
- // istanbul ignore next
232
- if (doDebug) {
233
- debugLog("verifyArguments_ArgumentList " +
234
- "\n The client did specify too many input arguments for the method. " +
235
- "\n expected : " +
236
- methodInputArguments.length +
237
- "" +
238
- "\n actual : " +
239
- inputArguments.length);
240
- }
241
- return { inputArgumentResults, statusCode: node_opcua_status_code_1.StatusCodes.BadArgumentsMissing };
242
- }
243
- if (methodInputArguments.length < inputArguments.length) {
244
- // istanbul ignore next
245
- if (doDebug) {
246
- debugLog(" verifyArguments_ArgumentList " +
247
- "\n The client did not specify all of the input arguments for the method. " +
248
- "\n expected : " +
249
- methodInputArguments.length +
250
- "" +
251
- "\n actual : " +
252
- inputArguments.length);
253
- }
254
- return { inputArgumentResults, statusCode: node_opcua_status_code_1.StatusCodes.BadTooManyArguments };
255
- }
256
- return {
257
- inputArgumentResults,
258
- statusCode: inputArgumentResults.includes(node_opcua_status_code_1.StatusCodes.BadTypeMismatch) || inputArgumentResults.includes(node_opcua_status_code_1.StatusCodes.BadOutOfRange)
259
- ? node_opcua_status_code_1.StatusCodes.BadInvalidArgument
260
- : node_opcua_status_code_1.StatusCodes.Good
261
- };
262
- }
263
- exports.verifyArguments_ArgumentList = verifyArguments_ArgumentList;
264
- function build_retrieveInputArgumentsDefinition(addressSpace) {
265
- const the_address_space = addressSpace;
266
- return (objectId, methodId) => {
267
- const response = getMethodDeclaration_ArgumentList(the_address_space, objectId, methodId);
268
- /* istanbul ignore next */
269
- if (response.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
270
- debugLog(" StatusCode = " + response.statusCode.toString());
271
- throw new Error("Invalid Method " +
272
- response.statusCode.toString() +
273
- " ObjectId= " +
274
- objectId.toString() +
275
- "Method Id =" +
276
- methodId.toString());
277
- }
278
- const methodDeclaration = response.methodDeclaration;
279
- // verify input Parameters
280
- const methodInputArguments = methodDeclaration.getInputArguments();
281
- (0, node_opcua_assert_1.assert)(Array.isArray(methodInputArguments));
282
- return methodInputArguments;
283
- };
284
- }
285
- exports.build_retrieveInputArgumentsDefinition = build_retrieveInputArgumentsDefinition;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.build_retrieveInputArgumentsDefinition = exports.verifyArguments_ArgumentList = exports.isArgumentValid = exports.getMethodDeclaration_ArgumentList = exports.binaryStoreSize_ArgumentList = exports.decode_ArgumentList = exports.encode_ArgumentList = void 0;
4
+ /* eslint-disable complexity */
5
+ /**
6
+ * @module node-opcua-address-space
7
+ */
8
+ const node_opcua_assert_1 = require("node-opcua-assert");
9
+ const ec = require("node-opcua-basic-types");
10
+ const node_opcua_binary_stream_1 = require("node-opcua-binary-stream");
11
+ const node_opcua_debug_1 = require("node-opcua-debug");
12
+ const factories = require("node-opcua-factory");
13
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
14
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
15
+ const node_opcua_variant_1 = require("node-opcua-variant");
16
+ const node_opcua_variant_2 = require("node-opcua-variant");
17
+ const node_opcua_constants_1 = require("node-opcua-constants");
18
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
19
+ const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
20
+ const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
21
+ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
22
+ function myfindBuiltInType(dataType) {
23
+ return factories.findBuiltInType(node_opcua_variant_1.DataType[dataType]);
24
+ }
25
+ function encode_ArgumentList(definition, args, stream) {
26
+ (0, node_opcua_assert_1.assert)(definition.length === args.length);
27
+ (0, node_opcua_assert_1.assert)(Array.isArray(definition));
28
+ (0, node_opcua_assert_1.assert)(Array.isArray(args));
29
+ (0, node_opcua_assert_1.assert)(definition.length === args.length);
30
+ (0, node_opcua_assert_1.assert)(definition.length >= 0);
31
+ // we only encode arguments by following the definition
32
+ for (let i = 0; i < definition.length; i++) {
33
+ const def = definition[i];
34
+ const value = args[i];
35
+ const encodeFunc = myfindBuiltInType(def.dataType).encode;
36
+ // assert((def.valueRank === -1) || (def.valueRank === 0));
37
+ // todo : handle -3 -2
38
+ const isArray = def.valueRank && (def.valueRank === 1 || def.valueRank !== -1);
39
+ if (isArray) {
40
+ ec.encodeArray(value, stream, encodeFunc);
41
+ }
42
+ else {
43
+ encodeFunc(value, stream);
44
+ }
45
+ }
46
+ }
47
+ exports.encode_ArgumentList = encode_ArgumentList;
48
+ function decode_ArgumentList(definition, stream) {
49
+ if (!Array.isArray(definition)) {
50
+ throw new Error("This BaseDataType cannot be decoded because it has no definition.\n" +
51
+ "Please construct a BaseDataType({definition : [{dataType: DataType.UInt32 }]});");
52
+ }
53
+ const args = [];
54
+ let value;
55
+ for (const def of definition) {
56
+ const decodeFunc = myfindBuiltInType(def.dataType).decode;
57
+ // xx assert(def.valueRank === -1 || def.valueRank==0);
58
+ const isArray = def.valueRank === 1 || def.valueRank === -1;
59
+ if (isArray) {
60
+ value = ec.decodeArray(stream, decodeFunc);
61
+ }
62
+ else {
63
+ value = decodeFunc(stream);
64
+ }
65
+ args.push(value);
66
+ }
67
+ return args;
68
+ }
69
+ exports.decode_ArgumentList = decode_ArgumentList;
70
+ function binaryStoreSize_ArgumentList(description, args) {
71
+ (0, node_opcua_assert_1.assert)(Array.isArray(description));
72
+ (0, node_opcua_assert_1.assert)(Array.isArray(args));
73
+ (0, node_opcua_assert_1.assert)(args.length === description.length);
74
+ const stream = new node_opcua_binary_stream_1.BinaryStreamSizeCalculator();
75
+ encode_ArgumentList(description, args, stream);
76
+ return stream.length;
77
+ }
78
+ exports.binaryStoreSize_ArgumentList = binaryStoreSize_ArgumentList;
79
+ function getMethodDeclaration_ArgumentList(addressSpace, objectId, methodId) {
80
+ // find object in address space
81
+ const obj = addressSpace.findNode(objectId);
82
+ if (!obj) {
83
+ // istanbul ignore next
84
+ if (doDebug) {
85
+ debugLog("cannot find node ", objectId.toString());
86
+ }
87
+ return { statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown };
88
+ }
89
+ let objectMethod = obj.getMethodById(methodId);
90
+ if (!objectMethod) {
91
+ // the method doesn't belong to the object, nevertheless
92
+ // the method can be called
93
+ objectMethod = addressSpace.findNode(methodId);
94
+ if (!objectMethod || objectMethod.nodeClass !== node_opcua_data_model_1.NodeClass.Method) {
95
+ warningLog("cannot find method with id", methodId.toString(), "object Id = ", objectId.toString());
96
+ return { statusCode: node_opcua_status_code_1.StatusCodes.BadMethodInvalid };
97
+ }
98
+ }
99
+ const methodDeclarationId = objectMethod.methodDeclarationId;
100
+ const methodDeclaration = addressSpace.findNode(methodDeclarationId);
101
+ if (!methodDeclaration) {
102
+ // return {statusCode: StatusCodes.BadMethodInvalid};
103
+ return { statusCode: node_opcua_status_code_1.StatusCodes.Good, methodDeclaration: objectMethod };
104
+ }
105
+ // istanbul ignore next
106
+ if (methodDeclaration.nodeClass !== node_opcua_data_model_1.NodeClass.Method) {
107
+ throw new Error("Expecting a Method here");
108
+ }
109
+ return { statusCode: node_opcua_status_code_1.StatusCodes.Good, methodDeclaration };
110
+ }
111
+ exports.getMethodDeclaration_ArgumentList = getMethodDeclaration_ArgumentList;
112
+ function checkValueRank(argDefinition, arg) {
113
+ const isArray = arg.arrayType === node_opcua_variant_2.VariantArrayType.Array;
114
+ const isMatrix = arg.arrayType === node_opcua_variant_2.VariantArrayType.Matrix;
115
+ if (argDefinition.valueRank > 0) {
116
+ if (argDefinition.valueRank === 1) {
117
+ if (!isArray) {
118
+ return false;
119
+ }
120
+ }
121
+ else {
122
+ if (!isMatrix) {
123
+ return false;
124
+ }
125
+ }
126
+ }
127
+ else if (argDefinition.valueRank === -1) {
128
+ // SCALAR
129
+ if (isArray || isMatrix) {
130
+ return false;
131
+ }
132
+ }
133
+ else if (argDefinition.valueRank === -2) {
134
+ // ANY
135
+ }
136
+ else if (argDefinition.valueRank === -3) {
137
+ // Scalar or OneDim
138
+ if (isMatrix) {
139
+ return false;
140
+ }
141
+ }
142
+ else if (argDefinition.valueRank === 0) {
143
+ // array or matrix
144
+ if (!isArray && !isMatrix) {
145
+ return false;
146
+ }
147
+ }
148
+ return true;
149
+ }
150
+ /**
151
+ * @private
152
+ */
153
+ function isArgumentValid(addressSpace, argDefinition, arg) {
154
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(argDefinition, "dataType"));
155
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(argDefinition, "valueRank"));
156
+ const argDefDataType = addressSpace.findDataType(argDefinition.dataType);
157
+ const argDataType = addressSpace.findDataType((0, node_opcua_nodeid_1.resolveNodeId)(arg.dataType));
158
+ // istanbul ignore next
159
+ if (!argDefDataType) {
160
+ debugLog("dataType ", argDefinition.dataType.toString(), "doesn't exist");
161
+ return false;
162
+ }
163
+ if (argDefinition.valueRank >= 0 && arg.dataType === node_opcua_variant_1.DataType.Null) {
164
+ // this is valid to receive an empty array ith DataType.Null;
165
+ return true;
166
+ }
167
+ if (!checkValueRank(argDefinition, arg)) {
168
+ return false;
169
+ }
170
+ // istanbul ignore next
171
+ if (!argDataType) {
172
+ debugLog(" cannot find dataType ", arg.dataType, (0, node_opcua_nodeid_1.resolveNodeId)(arg.dataType));
173
+ debugLog(" arg = ", arg.toString());
174
+ debugLog(" def =", argDefinition.toString());
175
+ return false;
176
+ }
177
+ // istanbul ignore next
178
+ if (doDebug) {
179
+ debugLog(" checking argDefDataType ", argDefDataType.toString());
180
+ debugLog(" checking argDataType ", argDataType.toString());
181
+ }
182
+ if (argDataType.nodeId.value === argDefDataType.nodeId.value) {
183
+ return true;
184
+ }
185
+ // check that dataType is of the same type (derived )
186
+ if (argDefDataType.isSupertypeOf(argDataType)) {
187
+ // like argDefDataType IntegerId and argDataType Uint32
188
+ return true;
189
+ }
190
+ if (argDataType.isSupertypeOf(argDefDataType)) {
191
+ // like argDefDataType BaseDataType and argDataType any Type
192
+ return true;
193
+ }
194
+ // special case for Enumeration
195
+ if (arg.dataType === node_opcua_variant_1.DataType.Int32) {
196
+ const enumDataType = addressSpace.findDataType((0, node_opcua_nodeid_1.coerceNodeId)(node_opcua_constants_1.DataTypeIds.Enumeration));
197
+ if (argDefDataType.isSupertypeOf(enumDataType)) {
198
+ return true;
199
+ }
200
+ }
201
+ return false;
202
+ }
203
+ exports.isArgumentValid = isArgumentValid;
204
+ /**
205
+ * @method verifyArguments_ArgumentList
206
+ * @param addressSpace
207
+ * @param methodInputArguments
208
+ * @param inputArguments
209
+ * @return statusCode,inputArgumentResults
210
+ */
211
+ function verifyArguments_ArgumentList(addressSpace, methodInputArguments, inputArguments) {
212
+ if (!inputArguments) {
213
+ // it is possible to not provide inputArguments when method has no arguments
214
+ return methodInputArguments.length === 0
215
+ ? { statusCode: node_opcua_status_code_1.StatusCodes.Good }
216
+ : { statusCode: node_opcua_status_code_1.StatusCodes.BadArgumentsMissing };
217
+ }
218
+ const inputArgumentResults = methodInputArguments.map((methodInputArgument, index) => {
219
+ const argument = inputArguments[index];
220
+ if (!argument) {
221
+ return node_opcua_status_code_1.StatusCodes.BadNoData;
222
+ }
223
+ else if (!isArgumentValid(addressSpace, methodInputArgument, argument)) {
224
+ return node_opcua_status_code_1.StatusCodes.BadTypeMismatch;
225
+ }
226
+ else {
227
+ return node_opcua_status_code_1.StatusCodes.Good;
228
+ }
229
+ });
230
+ if (methodInputArguments.length > inputArguments.length) {
231
+ // istanbul ignore next
232
+ if (doDebug) {
233
+ debugLog("verifyArguments_ArgumentList " +
234
+ "\n The client did specify too many input arguments for the method. " +
235
+ "\n expected : " +
236
+ methodInputArguments.length +
237
+ "" +
238
+ "\n actual : " +
239
+ inputArguments.length);
240
+ }
241
+ return { inputArgumentResults, statusCode: node_opcua_status_code_1.StatusCodes.BadArgumentsMissing };
242
+ }
243
+ if (methodInputArguments.length < inputArguments.length) {
244
+ // istanbul ignore next
245
+ if (doDebug) {
246
+ debugLog(" verifyArguments_ArgumentList " +
247
+ "\n The client did not specify all of the input arguments for the method. " +
248
+ "\n expected : " +
249
+ methodInputArguments.length +
250
+ "" +
251
+ "\n actual : " +
252
+ inputArguments.length);
253
+ }
254
+ return { inputArgumentResults, statusCode: node_opcua_status_code_1.StatusCodes.BadTooManyArguments };
255
+ }
256
+ return {
257
+ inputArgumentResults,
258
+ statusCode: inputArgumentResults.includes(node_opcua_status_code_1.StatusCodes.BadTypeMismatch) || inputArgumentResults.includes(node_opcua_status_code_1.StatusCodes.BadOutOfRange)
259
+ ? node_opcua_status_code_1.StatusCodes.BadInvalidArgument
260
+ : node_opcua_status_code_1.StatusCodes.Good
261
+ };
262
+ }
263
+ exports.verifyArguments_ArgumentList = verifyArguments_ArgumentList;
264
+ function build_retrieveInputArgumentsDefinition(addressSpace) {
265
+ const the_address_space = addressSpace;
266
+ return (objectId, methodId) => {
267
+ const response = getMethodDeclaration_ArgumentList(the_address_space, objectId, methodId);
268
+ /* istanbul ignore next */
269
+ if (response.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
270
+ debugLog(" StatusCode = " + response.statusCode.toString());
271
+ throw new Error("Invalid Method " +
272
+ response.statusCode.toString() +
273
+ " ObjectId= " +
274
+ objectId.toString() +
275
+ "Method Id =" +
276
+ methodId.toString());
277
+ }
278
+ const methodDeclaration = response.methodDeclaration;
279
+ // verify input Parameters
280
+ const methodInputArguments = methodDeclaration.getInputArguments();
281
+ (0, node_opcua_assert_1.assert)(Array.isArray(methodInputArguments));
282
+ return methodInputArguments;
283
+ };
284
+ }
285
+ exports.build_retrieveInputArgumentsDefinition = build_retrieveInputArgumentsDefinition;
286
286
  //# sourceMappingURL=argument_list.js.map
@@ -1,6 +1,6 @@
1
- import { CallMethodRequest } from "node-opcua-service-call";
2
- import { CallMethodResultOptions } from "node-opcua-types";
3
- import { ISessionContext, IAddressSpace } from "node-opcua-address-space-base";
4
- declare type ResponseCallback<T> = (err: Error | null, result?: T) => void;
5
- export declare function callMethodHelper(context: ISessionContext, addressSpace: IAddressSpace, callMethodRequest: CallMethodRequest, callback: ResponseCallback<CallMethodResultOptions>): void;
6
- export {};
1
+ import { CallMethodRequest } from "node-opcua-service-call";
2
+ import { CallMethodResultOptions } from "node-opcua-types";
3
+ import { ISessionContext, IAddressSpace } from "node-opcua-address-space-base";
4
+ declare type ResponseCallback<T> = (err: Error | null, result?: T) => void;
5
+ export declare function callMethodHelper(context: ISessionContext, addressSpace: IAddressSpace, callMethodRequest: CallMethodRequest, callback: ResponseCallback<CallMethodResultOptions>): void;
6
+ export {};