node-opcua-address-space 2.70.3 → 2.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +34 -34
  8. package/dist/source/helpers/argument_list.js +285 -285
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -17
  12. package/dist/source/helpers/check_event_clause.js +52 -52
  13. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  14. package/dist/source/helpers/coerce_enum_value.js +33 -33
  15. package/dist/source/helpers/dump_tools.d.ts +14 -14
  16. package/dist/source/helpers/dump_tools.js +78 -78
  17. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  18. package/dist/source/helpers/ensure_secure_access.js +76 -76
  19. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  20. package/dist/source/helpers/make_optionals_map.js +29 -29
  21. package/dist/source/helpers/multiform_func.d.ts +11 -11
  22. package/dist/source/helpers/multiform_func.js +73 -73
  23. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  24. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  25. package/dist/source/index.d.ts +40 -40
  26. package/dist/source/index.js +66 -66
  27. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  29. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +23 -0
  30. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +3 -0
  31. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +1 -0
  32. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +6 -0
  33. package/dist/source/interfaces/data_access/ua_discrete_item.js +3 -0
  34. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +1 -0
  35. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +25 -0
  36. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +3 -0
  37. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +1 -0
  38. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  39. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  40. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +27 -0
  41. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +3 -0
  42. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +1 -0
  43. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  44. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  45. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +17 -0
  46. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +3 -0
  47. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +1 -0
  48. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  49. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  50. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +19 -0
  51. package/dist/source/interfaces/data_access/ua_y_array_item.js +3 -0
  52. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +1 -0
  53. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  54. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  55. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +11 -0
  56. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +3 -0
  57. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +1 -0
  58. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +70 -0
  59. package/dist/source/interfaces/state_machine/finite_state_machine.js +3 -0
  60. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +1 -0
  61. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +74 -0
  62. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +3 -0
  63. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +1 -0
  64. package/dist/source/interfaces/state_machine/state_machine.d.ts +342 -0
  65. package/dist/source/interfaces/state_machine/state_machine.js +3 -0
  66. package/dist/source/interfaces/state_machine/state_machine.js.map +1 -0
  67. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  68. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  69. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  70. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  71. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +18 -0
  72. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +3 -0
  73. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +1 -0
  74. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  75. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  76. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  77. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  78. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +29 -0
  79. package/dist/source/interfaces/state_machine/ua_state_variable.js +3 -0
  80. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +1 -0
  81. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  82. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  83. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +26 -0
  84. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +3 -0
  85. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +1 -0
  86. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +41 -0
  87. package/dist/source/interfaces/subscription_diagnostics_variable.js +3 -0
  88. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +1 -0
  89. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  90. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  91. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  92. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  93. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  94. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  95. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  96. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  97. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  98. package/dist/source/loader/load_nodeset2.js +1464 -1464
  99. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  100. package/dist/source/loader/make_xml_extension_object_parser.js +315 -315
  101. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  102. package/dist/source/loader/namespace_post_step.js +47 -47
  103. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  104. package/dist/source/loader/register_node_promoter.js +9 -9
  105. package/dist/source/namespace.d.ts +6 -6
  106. package/dist/source/namespace.js +2 -2
  107. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  108. package/dist/source/namespace_alarm_and_condition.js +2 -2
  109. package/dist/source/namespace_data_access.d.ts +42 -42
  110. package/dist/source/namespace_data_access.js +2 -2
  111. package/dist/source/namespace_machine_state.d.ts +7 -7
  112. package/dist/source/namespace_machine_state.js +2 -2
  113. package/dist/source/pseudo_session.d.ts +55 -55
  114. package/dist/source/pseudo_session.js +203 -203
  115. package/dist/source/session_context.d.ts +111 -111
  116. package/dist/source/session_context.js +265 -265
  117. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  118. package/dist/source/set_namespace_meta_data.js +59 -59
  119. package/dist/source/ua_root_folder.d.ts +9 -9
  120. package/dist/source/ua_root_folder.js +2 -2
  121. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  122. package/dist/source/ua_two_state_variable_ex.js +2 -2
  123. package/dist/source/xml_writer.d.ts +9 -9
  124. package/dist/source/xml_writer.js +2 -2
  125. package/dist/src/address_space.d.ts +392 -392
  126. package/dist/src/address_space.js +1387 -1387
  127. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  128. package/dist/src/address_space_change_event_tools.js +149 -149
  129. package/dist/src/address_space_private.d.ts +43 -43
  130. package/dist/src/address_space_private.js +2 -2
  131. package/dist/src/alarms_and_conditions/base_event_type.d.ts +26 -0
  132. package/dist/src/alarms_and_conditions/base_event_type.js +41 -0
  133. package/dist/src/alarms_and_conditions/base_event_type.js.map +1 -0
  134. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  135. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  136. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  137. package/dist/src/alarms_and_conditions/condition.js +80 -80
  138. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  139. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  140. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  141. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  142. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  143. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  144. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  145. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  146. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  147. package/dist/src/alarms_and_conditions/index.js +34 -34
  148. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +22 -0
  149. package/dist/src/alarms_and_conditions/shelving_state_machine.js +241 -0
  150. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +1 -0
  151. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +16 -0
  152. package/dist/src/alarms_and_conditions/trip_alarm.js +21 -0
  153. package/dist/src/alarms_and_conditions/trip_alarm.js.map +1 -0
  154. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +54 -0
  155. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +255 -0
  156. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +1 -0
  157. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +62 -62
  158. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  159. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +138 -0
  160. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +460 -0
  161. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +1 -0
  162. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +118 -118
  163. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  164. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  165. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  166. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +35 -0
  167. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +32 -0
  168. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +1 -0
  169. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +21 -21
  170. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +25 -25
  171. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +191 -0
  172. package/dist/src/alarms_and_conditions/ua_condition_base.js +1029 -0
  173. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +1 -0
  174. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +182 -182
  175. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1022 -1022
  176. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +11 -0
  177. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +58 -0
  178. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +1 -0
  179. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +17 -17
  180. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  181. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +24 -0
  182. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +59 -0
  183. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +1 -0
  184. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +27 -27
  185. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  186. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +14 -0
  187. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +17 -0
  188. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +1 -0
  189. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +9 -9
  190. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  191. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +22 -0
  192. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +87 -0
  193. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +1 -0
  194. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +38 -38
  195. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  196. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +6 -0
  197. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +11 -0
  198. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +1 -0
  199. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  200. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  201. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +76 -0
  202. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +237 -0
  203. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +1 -0
  204. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +97 -97
  205. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  206. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +27 -0
  207. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +62 -0
  208. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +1 -0
  209. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -28
  210. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  211. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +49 -0
  212. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +176 -0
  213. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +1 -0
  214. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +25 -25
  215. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  216. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +47 -0
  217. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +151 -0
  218. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +1 -0
  219. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +39 -39
  220. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +135 -135
  221. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +16 -0
  222. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +18 -0
  223. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +1 -0
  224. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +16 -16
  225. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  226. package/dist/src/apply_condition_refresh.d.ts +6 -6
  227. package/dist/src/apply_condition_refresh.js +27 -27
  228. package/dist/src/base_node.d.ts +270 -0
  229. package/dist/src/base_node.js +1299 -0
  230. package/dist/src/base_node.js.map +1 -0
  231. package/dist/src/base_node_impl.d.ts +281 -281
  232. package/dist/src/base_node_impl.js +1395 -1395
  233. package/dist/src/base_node_private.d.ts +61 -61
  234. package/dist/src/base_node_private.js +705 -705
  235. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  236. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  237. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  238. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  239. package/dist/src/data_access/ua_analog_item.d.ts +13 -0
  240. package/dist/src/data_access/ua_analog_item.js +37 -0
  241. package/dist/src/data_access/ua_analog_item.js.map +1 -0
  242. package/dist/src/data_access/ua_data_item.d.ts +16 -0
  243. package/dist/src/data_access/ua_data_item.js +66 -0
  244. package/dist/src/data_access/ua_data_item.js.map +1 -0
  245. package/dist/src/data_access/ua_multistate_discrete.d.ts +24 -0
  246. package/dist/src/data_access/ua_multistate_discrete.js +132 -0
  247. package/dist/src/data_access/ua_multistate_discrete.js.map +1 -0
  248. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  249. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  250. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  251. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  252. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  253. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  254. package/dist/src/event_data.d.ts +29 -29
  255. package/dist/src/event_data.js +95 -95
  256. package/dist/src/extension_object_array_node.d.ts +61 -61
  257. package/dist/src/extension_object_array_node.js +276 -276
  258. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  259. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  260. package/dist/src/index_current.d.ts +45 -45
  261. package/dist/src/index_current.js +77 -77
  262. package/dist/src/namespace.d.ts +472 -0
  263. package/dist/src/namespace.js +1759 -0
  264. package/dist/src/namespace.js.map +1 -0
  265. package/dist/src/namespace_impl.d.ts +457 -457
  266. package/dist/src/namespace_impl.js +1733 -1733
  267. package/dist/src/namespace_private.d.ts +21 -21
  268. package/dist/src/namespace_private.js +32 -32
  269. package/dist/src/nodeid_manager.d.ts +36 -36
  270. package/dist/src/nodeid_manager.js +197 -197
  271. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  272. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  273. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  274. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  275. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  276. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  277. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  278. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  279. package/dist/src/reference.d.ts +43 -0
  280. package/dist/src/reference.js +138 -0
  281. package/dist/src/reference.js.map +1 -0
  282. package/dist/src/reference_impl.d.ts +43 -43
  283. package/dist/src/reference_impl.js +139 -139
  284. package/dist/src/role_permissions.d.ts +2 -2
  285. package/dist/src/role_permissions.js +10 -10
  286. package/dist/src/session_context.d.ts +4 -0
  287. package/dist/src/session_context.js +9 -0
  288. package/dist/src/session_context.js.map +1 -0
  289. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  290. package/dist/src/state_machine/finite_state_machine.js +353 -353
  291. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  292. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  293. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  294. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  295. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  296. package/dist/src/tool_isSupertypeOf.js +108 -108
  297. package/dist/src/ua_condition_type.d.ts +8 -8
  298. package/dist/src/ua_condition_type.js +2 -2
  299. package/dist/src/ua_data_type.d.ts +81 -0
  300. package/dist/src/ua_data_type.js +259 -0
  301. package/dist/src/ua_data_type.js.map +1 -0
  302. package/dist/src/ua_data_type_impl.d.ts +93 -93
  303. package/dist/src/ua_data_type_impl.js +368 -368
  304. package/dist/src/ua_method.d.ts +33 -0
  305. package/dist/src/ua_method.js +194 -0
  306. package/dist/src/ua_method.js.map +1 -0
  307. package/dist/src/ua_method_impl.d.ts +41 -41
  308. package/dist/src/ua_method_impl.js +208 -208
  309. package/dist/src/ua_object.d.ts +27 -0
  310. package/dist/src/ua_object.js +153 -0
  311. package/dist/src/ua_object.js.map +1 -0
  312. package/dist/src/ua_object_impl.d.ts +33 -33
  313. package/dist/src/ua_object_impl.js +156 -156
  314. package/dist/src/ua_object_type.d.ts +49 -0
  315. package/dist/src/ua_object_type.js +123 -0
  316. package/dist/src/ua_object_type.js.map +1 -0
  317. package/dist/src/ua_object_type_impl.d.ts +48 -48
  318. package/dist/src/ua_object_type_impl.js +124 -124
  319. package/dist/src/ua_reference_type.d.ts +31 -0
  320. package/dist/src/ua_reference_type.js +108 -0
  321. package/dist/src/ua_reference_type.js.map +1 -0
  322. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  323. package/dist/src/ua_reference_type_impl.js +139 -139
  324. package/dist/src/ua_variable.d.ts +346 -0
  325. package/dist/src/ua_variable.js +1651 -0
  326. package/dist/src/ua_variable.js.map +1 -0
  327. package/dist/src/ua_variable_impl.d.ts +351 -351
  328. package/dist/src/ua_variable_impl.js +1604 -1604
  329. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  330. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  331. package/dist/src/ua_variable_type.d.ts +57 -0
  332. package/dist/src/ua_variable_type.js +530 -0
  333. package/dist/src/ua_variable_type.js.map +1 -0
  334. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  335. package/dist/src/ua_variable_type_impl.js +570 -564
  336. package/dist/src/ua_variable_type_impl.js.map +1 -1
  337. package/dist/src/ua_view.d.ts +16 -0
  338. package/dist/src/ua_view.js +41 -0
  339. package/dist/src/ua_view.js.map +1 -0
  340. package/dist/src/ua_view_impl.d.ts +15 -15
  341. package/dist/src/ua_view_impl.js +36 -36
  342. package/distHelpers/add_event_generator_object.d.ts +3 -3
  343. package/distHelpers/add_event_generator_object.js +65 -65
  344. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  345. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  346. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  347. package/distHelpers/assertHasMatchingReference.js +40 -40
  348. package/distHelpers/boiler_system.d.ts +113 -113
  349. package/distHelpers/boiler_system.js +395 -395
  350. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  351. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  352. package/distHelpers/date_utils.d.ts +3 -3
  353. package/distHelpers/date_utils.js +9 -9
  354. package/distHelpers/dump_statemachine.js +127 -127
  355. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  356. package/distHelpers/get_address_space_fixture.js +30 -30
  357. package/distHelpers/get_mini_address_space.d.ts +7 -7
  358. package/distHelpers/get_mini_address_space.js +36 -36
  359. package/distHelpers/index.d.ts +12 -12
  360. package/distHelpers/index.js +28 -28
  361. package/distHelpers/mock_session.d.ts +14 -14
  362. package/distHelpers/mock_session.js +25 -25
  363. package/distNodeJS/generate_address_space.d.ts +4 -4
  364. package/distNodeJS/generate_address_space.js +41 -41
  365. package/distNodeJS/index.d.ts +1 -1
  366. package/distNodeJS/index.js +17 -17
  367. package/package.json +38 -38
  368. package/src/ua_variable_type_impl.ts +11 -4
  369. package/test_helpers/test_fixtures/eurange_issue.xml +73 -0
@@ -1,2 +1,2 @@
1
- import { NamespacePrivate } from "../namespace_private";
2
- export declare function dumpToBSD(namespace: NamespacePrivate): void;
1
+ import { NamespacePrivate } from "../namespace_private";
2
+ export declare function dumpToBSD(namespace: NamespacePrivate): void;
@@ -1,155 +1,155 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dumpToBSD = void 0;
4
- const node_opcua_assert_1 = require("node-opcua-assert");
5
- const node_opcua_types_1 = require("node-opcua-types");
6
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
7
- const construct_namespace_dependency_1 = require("./construct_namespace_dependency");
8
- // tslint:disable-next-line: no-var-requires
9
- const XMLWriter = require("xml-writer");
10
- function dumpEnumeratedType(xw, e, name) {
11
- xw.startElement("opc:EnumeratedType");
12
- xw.writeAttribute("Name", name);
13
- xw.writeAttribute("LengthInBits", "32");
14
- for (const f of e.fields || []) {
15
- xw.startElement("opc:EnumeratedValue");
16
- xw.writeAttribute("Name", f.name);
17
- (0, node_opcua_assert_1.assert)(f.value[0] === 0, "unsupported 64 bit value !");
18
- xw.writeAttribute("Value", f.value[1].toString());
19
- xw.endElement();
20
- }
21
- xw.endElement();
22
- }
23
- function buildXmlName(addressSpace, map, nodeId) {
24
- if (node_opcua_nodeid_1.NodeId.sameNodeId(nodeId, node_opcua_nodeid_1.NodeId.nullNodeId)) {
25
- return "ua:ExtensionObject";
26
- }
27
- const node = addressSpace.findNode(nodeId);
28
- // istanbul ignore next
29
- if (!node) {
30
- throw new Error("Cannot find Node for" + (nodeId === null || nodeId === void 0 ? void 0 : nodeId.toString()));
31
- }
32
- const typeName = node.browseName.name;
33
- const prefix = node.nodeId.namespace === 0 ? (node.nodeId.value <= 15 ? "opc" : "ua") : map[node.nodeId.namespace];
34
- return prefix + ":" + (typeName === "Structure" && prefix === "ua" ? "ExtensionObject" : typeName);
35
- }
36
- // eslint-disable-next-line max-statements
37
- function dumpDataTypeStructure(xw, addressSpace, map, structureDefinition, structureDefinitionBase, name, doc) {
38
- var _a, _b;
39
- xw.startElement("opc:StructuredType");
40
- xw.writeAttribute("Name", name);
41
- xw.writeAttribute("BaseType", buildXmlName(addressSpace, map, structureDefinition.baseDataType));
42
- if (doc) {
43
- xw.startElement("opc:Documentation");
44
- xw.text(doc);
45
- xw.endElement();
46
- }
47
- const fields = structureDefinition.fields || [];
48
- // get base class
49
- const nbFieldsInBase = structureDefinitionBase ? ((_a = structureDefinitionBase.fields) === null || _a === void 0 ? void 0 : _a.length) || 0 : 0;
50
- let optionalsCount = 0;
51
- for (let index = nbFieldsInBase; index < fields.length; index++) {
52
- const f = fields[index];
53
- if (f.isOptional) {
54
- xw.startElement("opc:Field");
55
- xw.writeAttribute("Name", f.name + "Specified");
56
- xw.writeAttribute("TypeName", "opc:Bit");
57
- xw.endElement();
58
- optionalsCount++;
59
- }
60
- }
61
- // istanbul ignore next
62
- if (optionalsCount >= 32) {
63
- throw new Error("Too many optionals fields");
64
- }
65
- if (optionalsCount) {
66
- /*
67
- const padding = optionalsCount <= 8
68
- ? (8 - optionalsCount)
69
- : (optionalsCount <= 16)
70
- ? (16 - optionalsCount)
71
- : (32 - optionalsCount)
72
- ;
73
- */
74
- const padding = 32 - optionalsCount;
75
- if (padding !== 0) {
76
- xw.startElement("opc:Field");
77
- xw.writeAttribute("Name", "Reserved1");
78
- xw.writeAttribute("TypeName", "opc:Bit");
79
- xw.writeAttribute("Length", padding.toString());
80
- xw.endElement();
81
- }
82
- }
83
- for (let index = nbFieldsInBase; index < fields.length; index++) {
84
- const f = fields[index];
85
- const isArray = f.valueRank > 0 && ((_b = f.arrayDimensions) === null || _b === void 0 ? void 0 : _b.length);
86
- if (isArray) {
87
- xw.startElement("opc:Field");
88
- xw.writeAttribute("Name", "NoOf" + f.name);
89
- xw.writeAttribute("TypeName", "opc:Int32");
90
- if (f.isOptional) {
91
- xw.writeAttribute("SwitchField", f.name + "Specified");
92
- }
93
- xw.endElement();
94
- }
95
- xw.startElement("opc:Field");
96
- xw.writeAttribute("Name", f.name);
97
- const typeName = buildXmlName(addressSpace, map, f.dataType);
98
- xw.writeAttribute("TypeName", typeName);
99
- if (isArray) {
100
- xw.writeAttribute("LengthField", "NoOf" + f.name);
101
- }
102
- if (f.isOptional) {
103
- xw.writeAttribute("SwitchField", f.name + "Specified");
104
- }
105
- xw.endElement();
106
- }
107
- xw.endElement();
108
- }
109
- function dumpDataTypeToBSD(xw, dataType, map) {
110
- var _a;
111
- const addressSpace = dataType.addressSpace;
112
- const name = dataType.browseName.name;
113
- const definition = dataType.getDefinition();
114
- if (definition instanceof node_opcua_types_1.StructureDefinition) {
115
- const structureDefinitionBase = (_a = dataType.subtypeOfObj) === null || _a === void 0 ? void 0 : _a.getStructureDefinition();
116
- dumpDataTypeStructure(xw, addressSpace, map, definition, structureDefinitionBase, name);
117
- }
118
- if (definition instanceof node_opcua_types_1.EnumDefinition) {
119
- dumpEnumeratedType(xw, definition, name);
120
- }
121
- }
122
- function shortcut(namespace) {
123
- return "n" + namespace.index;
124
- }
125
- function dumpToBSD(namespace) {
126
- const dependency = (0, construct_namespace_dependency_1.constructNamespaceDependency)(namespace);
127
- const addressSpace = namespace.addressSpace;
128
- const xw = new XMLWriter(true);
129
- xw.startDocument({ encoding: "utf-8", version: "1.0" });
130
- xw.startElement("opc:TypeDictionary");
131
- xw.writeAttribute("xmlns:opc", "http://opcfoundation.org/BinarySchema/");
132
- xw.writeAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
133
- xw.writeAttribute("xmlns:ua", "http://opcfoundation.org/UA/");
134
- const map = {};
135
- for (const dependantNamespace of dependency) {
136
- const namespaceIndex = dependantNamespace.index;
137
- if (namespaceIndex === 0) {
138
- //|| namespaceIndex === namespace.index) {
139
- continue;
140
- }
141
- const ns = shortcut(dependantNamespace);
142
- map[namespaceIndex] = ns;
143
- xw.writeAttribute(`xmlns:${ns}`, dependantNamespace.namespaceUri);
144
- }
145
- xw.writeAttribute("DefaultByteOrder", "LittleEndian");
146
- xw.writeAttribute("TargetNamespace", namespace.namespaceUri);
147
- for (const dataType of namespace._dataTypeIterator()) {
148
- dumpDataTypeToBSD(xw, dataType, map);
149
- }
150
- xw.endElement();
151
- xw.endDocument();
152
- return xw.toString();
153
- }
154
- exports.dumpToBSD = dumpToBSD;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dumpToBSD = void 0;
4
+ const node_opcua_assert_1 = require("node-opcua-assert");
5
+ const node_opcua_types_1 = require("node-opcua-types");
6
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
7
+ const construct_namespace_dependency_1 = require("./construct_namespace_dependency");
8
+ // tslint:disable-next-line: no-var-requires
9
+ const XMLWriter = require("xml-writer");
10
+ function dumpEnumeratedType(xw, e, name) {
11
+ xw.startElement("opc:EnumeratedType");
12
+ xw.writeAttribute("Name", name);
13
+ xw.writeAttribute("LengthInBits", "32");
14
+ for (const f of e.fields || []) {
15
+ xw.startElement("opc:EnumeratedValue");
16
+ xw.writeAttribute("Name", f.name);
17
+ (0, node_opcua_assert_1.assert)(f.value[0] === 0, "unsupported 64 bit value !");
18
+ xw.writeAttribute("Value", f.value[1].toString());
19
+ xw.endElement();
20
+ }
21
+ xw.endElement();
22
+ }
23
+ function buildXmlName(addressSpace, map, nodeId) {
24
+ if (node_opcua_nodeid_1.NodeId.sameNodeId(nodeId, node_opcua_nodeid_1.NodeId.nullNodeId)) {
25
+ return "ua:ExtensionObject";
26
+ }
27
+ const node = addressSpace.findNode(nodeId);
28
+ // istanbul ignore next
29
+ if (!node) {
30
+ throw new Error("Cannot find Node for" + (nodeId === null || nodeId === void 0 ? void 0 : nodeId.toString()));
31
+ }
32
+ const typeName = node.browseName.name;
33
+ const prefix = node.nodeId.namespace === 0 ? (node.nodeId.value <= 15 ? "opc" : "ua") : map[node.nodeId.namespace];
34
+ return prefix + ":" + (typeName === "Structure" && prefix === "ua" ? "ExtensionObject" : typeName);
35
+ }
36
+ // eslint-disable-next-line max-statements
37
+ function dumpDataTypeStructure(xw, addressSpace, map, structureDefinition, structureDefinitionBase, name, doc) {
38
+ var _a, _b;
39
+ xw.startElement("opc:StructuredType");
40
+ xw.writeAttribute("Name", name);
41
+ xw.writeAttribute("BaseType", buildXmlName(addressSpace, map, structureDefinition.baseDataType));
42
+ if (doc) {
43
+ xw.startElement("opc:Documentation");
44
+ xw.text(doc);
45
+ xw.endElement();
46
+ }
47
+ const fields = structureDefinition.fields || [];
48
+ // get base class
49
+ const nbFieldsInBase = structureDefinitionBase ? ((_a = structureDefinitionBase.fields) === null || _a === void 0 ? void 0 : _a.length) || 0 : 0;
50
+ let optionalsCount = 0;
51
+ for (let index = nbFieldsInBase; index < fields.length; index++) {
52
+ const f = fields[index];
53
+ if (f.isOptional) {
54
+ xw.startElement("opc:Field");
55
+ xw.writeAttribute("Name", f.name + "Specified");
56
+ xw.writeAttribute("TypeName", "opc:Bit");
57
+ xw.endElement();
58
+ optionalsCount++;
59
+ }
60
+ }
61
+ // istanbul ignore next
62
+ if (optionalsCount >= 32) {
63
+ throw new Error("Too many optionals fields");
64
+ }
65
+ if (optionalsCount) {
66
+ /*
67
+ const padding = optionalsCount <= 8
68
+ ? (8 - optionalsCount)
69
+ : (optionalsCount <= 16)
70
+ ? (16 - optionalsCount)
71
+ : (32 - optionalsCount)
72
+ ;
73
+ */
74
+ const padding = 32 - optionalsCount;
75
+ if (padding !== 0) {
76
+ xw.startElement("opc:Field");
77
+ xw.writeAttribute("Name", "Reserved1");
78
+ xw.writeAttribute("TypeName", "opc:Bit");
79
+ xw.writeAttribute("Length", padding.toString());
80
+ xw.endElement();
81
+ }
82
+ }
83
+ for (let index = nbFieldsInBase; index < fields.length; index++) {
84
+ const f = fields[index];
85
+ const isArray = f.valueRank > 0 && ((_b = f.arrayDimensions) === null || _b === void 0 ? void 0 : _b.length);
86
+ if (isArray) {
87
+ xw.startElement("opc:Field");
88
+ xw.writeAttribute("Name", "NoOf" + f.name);
89
+ xw.writeAttribute("TypeName", "opc:Int32");
90
+ if (f.isOptional) {
91
+ xw.writeAttribute("SwitchField", f.name + "Specified");
92
+ }
93
+ xw.endElement();
94
+ }
95
+ xw.startElement("opc:Field");
96
+ xw.writeAttribute("Name", f.name);
97
+ const typeName = buildXmlName(addressSpace, map, f.dataType);
98
+ xw.writeAttribute("TypeName", typeName);
99
+ if (isArray) {
100
+ xw.writeAttribute("LengthField", "NoOf" + f.name);
101
+ }
102
+ if (f.isOptional) {
103
+ xw.writeAttribute("SwitchField", f.name + "Specified");
104
+ }
105
+ xw.endElement();
106
+ }
107
+ xw.endElement();
108
+ }
109
+ function dumpDataTypeToBSD(xw, dataType, map) {
110
+ var _a;
111
+ const addressSpace = dataType.addressSpace;
112
+ const name = dataType.browseName.name;
113
+ const definition = dataType.getDefinition();
114
+ if (definition instanceof node_opcua_types_1.StructureDefinition) {
115
+ const structureDefinitionBase = (_a = dataType.subtypeOfObj) === null || _a === void 0 ? void 0 : _a.getStructureDefinition();
116
+ dumpDataTypeStructure(xw, addressSpace, map, definition, structureDefinitionBase, name);
117
+ }
118
+ if (definition instanceof node_opcua_types_1.EnumDefinition) {
119
+ dumpEnumeratedType(xw, definition, name);
120
+ }
121
+ }
122
+ function shortcut(namespace) {
123
+ return "n" + namespace.index;
124
+ }
125
+ function dumpToBSD(namespace) {
126
+ const dependency = (0, construct_namespace_dependency_1.constructNamespaceDependency)(namespace);
127
+ const addressSpace = namespace.addressSpace;
128
+ const xw = new XMLWriter(true);
129
+ xw.startDocument({ encoding: "utf-8", version: "1.0" });
130
+ xw.startElement("opc:TypeDictionary");
131
+ xw.writeAttribute("xmlns:opc", "http://opcfoundation.org/BinarySchema/");
132
+ xw.writeAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
133
+ xw.writeAttribute("xmlns:ua", "http://opcfoundation.org/UA/");
134
+ const map = {};
135
+ for (const dependantNamespace of dependency) {
136
+ const namespaceIndex = dependantNamespace.index;
137
+ if (namespaceIndex === 0) {
138
+ //|| namespaceIndex === namespace.index) {
139
+ continue;
140
+ }
141
+ const ns = shortcut(dependantNamespace);
142
+ map[namespaceIndex] = ns;
143
+ xw.writeAttribute(`xmlns:${ns}`, dependantNamespace.namespaceUri);
144
+ }
145
+ xw.writeAttribute("DefaultByteOrder", "LittleEndian");
146
+ xw.writeAttribute("TargetNamespace", namespace.namespaceUri);
147
+ for (const dataType of namespace._dataTypeIterator()) {
148
+ dumpDataTypeToBSD(xw, dataType, map);
149
+ }
150
+ xw.endElement();
151
+ xw.endDocument();
152
+ return xw.toString();
153
+ }
154
+ exports.dumpToBSD = dumpToBSD;
155
155
  //# sourceMappingURL=typedictionary_to_xml.js.map
@@ -0,0 +1,43 @@
1
+ import { NodeId, NodeIdLike } from "node-opcua-nodeid";
2
+ import { AddReferenceOpts, BaseNode, UAReference, UAReferenceType } from "../source";
3
+ export declare function isNodeIdString(str: string): boolean;
4
+ export interface MinimalistAddressSpace {
5
+ findNode(nodeId: NodeIdLike): BaseNode | null;
6
+ findReferenceType(referenceTypeId: NodeIdLike | UAReferenceType, namespaceIndex?: number): UAReferenceType | null;
7
+ }
8
+ export declare function resolveReferenceNode(addressSpace: MinimalistAddressSpace, reference: UAReference): BaseNode;
9
+ export declare function resolveReferenceType(addressSpace: MinimalistAddressSpace, reference: UAReference): UAReferenceType;
10
+ /**
11
+ * @class Reference
12
+ * @param options.referenceType {NodeId}
13
+ * @param options.nodeId {NodeId}
14
+ * @param options.isForward {Boolean}
15
+ * @constructor
16
+ */
17
+ export declare class Reference implements UAReference {
18
+ static resolveReferenceNode(addressSpace: MinimalistAddressSpace, reference: UAReference): BaseNode;
19
+ static resolveReferenceType(addressSpace: MinimalistAddressSpace, reference: UAReference): UAReferenceType;
20
+ nodeId: NodeId;
21
+ referenceType: NodeId;
22
+ _referenceType?: UAReferenceType;
23
+ readonly isForward: boolean;
24
+ node?: BaseNode;
25
+ private __hash?;
26
+ constructor(options: AddReferenceOpts | Reference);
27
+ /**
28
+ * turn reference into a arrow : ---- ReferenceType --> [NodeId]
29
+ * @method toString
30
+ * @return {String}
31
+ */
32
+ toString(options?: {
33
+ addressSpace?: any;
34
+ }): string;
35
+ /**
36
+ * @internal
37
+ */
38
+ get hash(): string;
39
+ /**
40
+ * @internal
41
+ */
42
+ dispose(): void;
43
+ }
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Reference = exports.resolveReferenceType = exports.resolveReferenceNode = exports.isNodeIdString = void 0;
4
+ /**
5
+ * @module node-opcua-address-space
6
+ */
7
+ // tslint:disable:no-console
8
+ const chalk = require("chalk");
9
+ const node_opcua_assert_1 = require("node-opcua-assert");
10
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
11
+ const utils = require("node-opcua-utils");
12
+ function isNodeIdString(str) {
13
+ node_opcua_assert_1.assert(typeof str === "string");
14
+ return str.substring(0, 2) === "i=" || str.substring(0, 3) === "ns=";
15
+ }
16
+ exports.isNodeIdString = isNodeIdString;
17
+ function is_valid_reference(ref) {
18
+ const hasRequestedProperties = ref.hasOwnProperty("referenceType") &&
19
+ ref.hasOwnProperty("nodeId") &&
20
+ !utils.isNullOrUndefined(ref.isForward);
21
+ if (!hasRequestedProperties) {
22
+ return false;
23
+ }
24
+ node_opcua_assert_1.assert(ref.referenceType instanceof node_opcua_nodeid_1.NodeId);
25
+ node_opcua_assert_1.assert(!ref.node || node_opcua_nodeid_1.sameNodeId(ref.node.nodeId, ref.nodeId));
26
+ // xx assert(!ref.referenceTypeName || typeof ref.referenceTypeName === "string");
27
+ // xx // referenceType shall no be a nodeId string (this could happen by mistake)
28
+ // xx assert(!isNodeIdString(ref.referenceType));
29
+ return true;
30
+ }
31
+ /**
32
+ * @private
33
+ *
34
+ * @example
35
+ * ---- some text ----->
36
+ */
37
+ function _arrow(text, length, isForward) {
38
+ length = Math.max(length, text.length + 8);
39
+ const nb = Math.floor((length - text.length - 2) / 2);
40
+ const h = Array(nb).join("-");
41
+ const extra = (text.length % 2 === 1) ? "-" : "";
42
+ if (isForward) {
43
+ return extra + h + " " + text + " " + h + "> ";
44
+ }
45
+ return "<" + h + " " + text + " " + h + extra + " ";
46
+ }
47
+ function _w(str, width) {
48
+ return (str + " ").substr(0, width);
49
+ }
50
+ function _localCoerceToNodeID(nodeIdLike) {
51
+ if (nodeIdLike.nodeId) {
52
+ return nodeIdLike.nodeId;
53
+ }
54
+ return node_opcua_nodeid_1.coerceNodeId(nodeIdLike);
55
+ }
56
+ function resolveReferenceNode(addressSpace, reference) {
57
+ const _reference = reference;
58
+ if (!_reference.node) {
59
+ _reference.node = addressSpace.findNode(reference.nodeId);
60
+ }
61
+ return _reference.node;
62
+ }
63
+ exports.resolveReferenceNode = resolveReferenceNode;
64
+ function resolveReferenceType(addressSpace, reference) {
65
+ const _reference = reference;
66
+ if (!_reference._referenceType) {
67
+ if (!_reference.referenceType) {
68
+ console.log(chalk.red("ERROR MISSING reference"), reference);
69
+ }
70
+ _reference._referenceType = addressSpace.findReferenceType(reference.referenceType);
71
+ }
72
+ return _reference._referenceType;
73
+ }
74
+ exports.resolveReferenceType = resolveReferenceType;
75
+ /**
76
+ * @class Reference
77
+ * @param options.referenceType {NodeId}
78
+ * @param options.nodeId {NodeId}
79
+ * @param options.isForward {Boolean}
80
+ * @constructor
81
+ */
82
+ class Reference {
83
+ constructor(options) {
84
+ node_opcua_assert_1.assert(options.referenceType instanceof node_opcua_nodeid_1.NodeId);
85
+ node_opcua_assert_1.assert(options.nodeId instanceof node_opcua_nodeid_1.NodeId);
86
+ this.referenceType = node_opcua_nodeid_1.coerceNodeId(options.referenceType);
87
+ this.isForward = (options.isForward === undefined) ? true : !!options.isForward;
88
+ this.nodeId = _localCoerceToNodeID(options.nodeId);
89
+ // optional to speed up when AddReferenceOpts is in fact a Reference !
90
+ this._referenceType = options._referenceType;
91
+ this.node = options.node;
92
+ node_opcua_assert_1.assert(is_valid_reference(this));
93
+ }
94
+ static resolveReferenceNode(addressSpace, reference) { return resolveReferenceNode(addressSpace, reference); }
95
+ static resolveReferenceType(addressSpace, reference) {
96
+ return resolveReferenceType(addressSpace, reference);
97
+ }
98
+ /**
99
+ * turn reference into a arrow : ---- ReferenceType --> [NodeId]
100
+ * @method toString
101
+ * @return {String}
102
+ */
103
+ toString(options) {
104
+ let infoNode = _w(this.nodeId.toString(), 24);
105
+ let refType = this.referenceType.toString();
106
+ if (options && options.addressSpace) {
107
+ const node = options.addressSpace.findNode(this.nodeId);
108
+ infoNode = "[" + infoNode + "]" + _w(node === null || node === void 0 ? void 0 : node.browseName.toString(), 40);
109
+ const ref = options.addressSpace.findReferenceType(this.referenceType);
110
+ const refNode = options.addressSpace.findNode(ref.nodeId);
111
+ refType = refNode.browseName.toString() + " (" + ref.nodeId.toString() + ")";
112
+ }
113
+ return _arrow(refType, 40, this.isForward) + infoNode;
114
+ }
115
+ /**
116
+ * @internal
117
+ */
118
+ get hash() {
119
+ if (!this.__hash) {
120
+ this.__hash = (this.isForward ? "" : "!") + this.referenceType.toString() + "-" + this.nodeId.toString();
121
+ }
122
+ return this.__hash;
123
+ }
124
+ /**
125
+ * @internal
126
+ */
127
+ dispose() {
128
+ this.__hash = undefined;
129
+ this.node = undefined;
130
+ /*
131
+ this._referenceType = null;
132
+ this.nodeId = null as NodeId;
133
+ this.referenceType = null as NodeId;
134
+ */
135
+ }
136
+ }
137
+ exports.Reference = Reference;
138
+ //# sourceMappingURL=reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../src/reference.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,4BAA4B;AAC5B,+BAA+B;AAC/B,yDAA2C;AAC3C,yDAAiF;AACjF,0CAA0C;AAI1C,SAAgB,cAAc,CAAC,GAAW;IACtC,0BAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;IAChC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC;AACzE,CAAC;AAHD,wCAGC;AAED,SAAS,kBAAkB,CAAC,GAAc;IAEtC,MAAM,sBAAsB,GAAG,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC;QAC9D,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC5B,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE5C,IAAI,CAAC,sBAAsB,EAAE;QACzB,OAAO,KAAK,CAAC;KAChB;IACD,0BAAM,CAAC,GAAG,CAAC,aAAa,YAAY,0BAAM,CAAC,CAAC;IAC5C,0BAAM,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,8BAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,kFAAkF;IAClF,iFAAiF;IACjF,iDAAiD;IACjD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,MAAM,CAAC,IAAY,EAAE,MAAc,EAAE,SAAkB;IAE5D,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjD,IAAI,SAAS,EAAE;QACX,OAAO,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;KAClD;IACD,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;AACxD,CAAC;AAED,SAAS,EAAE,CAAC,GAAW,EAAE,KAAa;IAClC,OAAO,CAAC,GAAG,GAAG,2CAA2C,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAsC;IAChE,IAAK,UAAkB,CAAC,MAAM,EAAE;QAC5B,OAAQ,UAAuB,CAAC,MAAM,CAAC;KAC1C;IACD,OAAO,gCAAY,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAaD,SAAgB,oBAAoB,CAChC,YAAoC,EACpC,SAAsB;IAGtB,MAAM,UAAU,GAAG,SAAsB,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QAClB,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAE,CAAC;KAC9D;IACD,OAAO,UAAU,CAAC,IAAI,CAAC;AAC3B,CAAC;AAVD,oDAUC;AAED,SAAgB,oBAAoB,CAChC,YAAoC,EACpC,SAAsB;IAGtB,MAAM,UAAU,GAAG,SAAsB,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;QAC5B,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,SAAS,CAAC,CAAC;SAChE;QACD,UAAU,CAAC,cAAc,GAAG,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAE,CAAC;KACxF;IACD,OAAO,UAAU,CAAC,cAAc,CAAC;AACrC,CAAC;AAbD,oDAaC;AAED;;;;;;GAMG;AACH,MAAa,SAAS;IAwBlB,YAAY,OAAqC;QAE7C,0BAAM,CAAC,OAAO,CAAC,aAAa,YAAY,0BAAM,CAAC,CAAC;QAChD,0BAAM,CAAC,OAAO,CAAC,MAAM,YAAY,0BAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,aAAa,GAAG,gCAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAChF,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEnD,sEAAsE;QACtE,IAAI,CAAC,cAAc,GAAI,OAAe,CAAC,cAAc,CAAC;QACtD,IAAI,CAAC,IAAI,GAAI,OAAe,CAAC,IAAI,CAAC;QAElC,0BAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IApCM,MAAM,CAAC,oBAAoB,CAC9B,YAAoC,EACpC,SAAsB,IACZ,OAAO,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAM,CAAC,oBAAoB,CAC9B,YAAoC,EACpC,SAAsB;QAEtB,OAAO,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IA4BD;;;;OAIG;IACI,QAAQ,CAAC,OAAgC;QAE5C,IAAI,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAE5C,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE;YAEjC,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAEtE,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1D,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;SAChF;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC5G;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,OAAO;QACV,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB;;;;UAIE;IACN,CAAC;CACJ;AApFD,8BAoFC"}
@@ -1,43 +1,43 @@
1
- import { AddReferenceOpts, UAReference, BaseNode, UAReferenceType } from "node-opcua-address-space-base";
2
- import { NodeId, NodeIdLike } from "node-opcua-nodeid";
3
- export declare function isNodeIdString(str: string): boolean;
4
- export interface MinimalistAddressSpace {
5
- findNode(nodeId: NodeIdLike): BaseNode | null;
6
- findReferenceType(referenceTypeId: NodeIdLike | UAReferenceType, namespaceIndex?: number): UAReferenceType | null;
7
- }
8
- export declare function resolveReferenceNode(addressSpace: MinimalistAddressSpace, reference: UAReference): BaseNode;
9
- export declare function resolveReferenceType(addressSpace: MinimalistAddressSpace, reference: UAReference): UAReferenceType;
10
- /**
11
- * @class Reference
12
- * @param options.referenceType {NodeId}
13
- * @param options.nodeId {NodeId}
14
- * @param options.isForward {Boolean}
15
- * @constructor
16
- */
17
- export declare class ReferenceImpl implements UAReference {
18
- static resolveReferenceNode(addressSpace: MinimalistAddressSpace, reference: UAReference): BaseNode;
19
- static resolveReferenceType(addressSpace: MinimalistAddressSpace, reference: UAReference): UAReferenceType;
20
- nodeId: NodeId;
21
- referenceType: NodeId;
22
- _referenceType?: UAReferenceType;
23
- readonly isForward: boolean;
24
- node?: BaseNode;
25
- private __hash?;
26
- constructor(options: AddReferenceOpts | UAReference);
27
- /**
28
- * turn reference into a arrow : ---- ReferenceType --> [NodeId]
29
- * @method toString
30
- * @return {String}
31
- */
32
- toString(options?: {
33
- addressSpace?: any;
34
- }): string;
35
- /**
36
- * @internal
37
- */
38
- get hash(): string;
39
- /**
40
- * @internal
41
- */
42
- dispose(): void;
43
- }
1
+ import { AddReferenceOpts, UAReference, BaseNode, UAReferenceType } from "node-opcua-address-space-base";
2
+ import { NodeId, NodeIdLike } from "node-opcua-nodeid";
3
+ export declare function isNodeIdString(str: string): boolean;
4
+ export interface MinimalistAddressSpace {
5
+ findNode(nodeId: NodeIdLike): BaseNode | null;
6
+ findReferenceType(referenceTypeId: NodeIdLike | UAReferenceType, namespaceIndex?: number): UAReferenceType | null;
7
+ }
8
+ export declare function resolveReferenceNode(addressSpace: MinimalistAddressSpace, reference: UAReference): BaseNode;
9
+ export declare function resolveReferenceType(addressSpace: MinimalistAddressSpace, reference: UAReference): UAReferenceType;
10
+ /**
11
+ * @class Reference
12
+ * @param options.referenceType {NodeId}
13
+ * @param options.nodeId {NodeId}
14
+ * @param options.isForward {Boolean}
15
+ * @constructor
16
+ */
17
+ export declare class ReferenceImpl implements UAReference {
18
+ static resolveReferenceNode(addressSpace: MinimalistAddressSpace, reference: UAReference): BaseNode;
19
+ static resolveReferenceType(addressSpace: MinimalistAddressSpace, reference: UAReference): UAReferenceType;
20
+ nodeId: NodeId;
21
+ referenceType: NodeId;
22
+ _referenceType?: UAReferenceType;
23
+ readonly isForward: boolean;
24
+ node?: BaseNode;
25
+ private __hash?;
26
+ constructor(options: AddReferenceOpts | UAReference);
27
+ /**
28
+ * turn reference into a arrow : ---- ReferenceType --> [NodeId]
29
+ * @method toString
30
+ * @return {String}
31
+ */
32
+ toString(options?: {
33
+ addressSpace?: any;
34
+ }): string;
35
+ /**
36
+ * @internal
37
+ */
38
+ get hash(): string;
39
+ /**
40
+ * @internal
41
+ */
42
+ dispose(): void;
43
+ }