node-opcua-address-space 2.51.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 (598) hide show
  1. package/.mocharc.yml +12 -0
  2. package/LICENSE +20 -0
  3. package/dist/source/address_space_ts.d.ts +122 -0
  4. package/dist/source/address_space_ts.js +18 -0
  5. package/dist/source/address_space_ts.js.map +1 -0
  6. package/dist/source/continuation_points/continuation_point_manager.d.ts +21 -0
  7. package/dist/source/continuation_points/continuation_point_manager.js +100 -0
  8. package/dist/source/continuation_points/continuation_point_manager.js.map +1 -0
  9. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -0
  10. package/dist/source/helpers/adjust_browse_direction.js +12 -0
  11. package/dist/source/helpers/adjust_browse_direction.js.map +1 -0
  12. package/dist/source/helpers/argument_list.d.ts +30 -0
  13. package/dist/source/helpers/argument_list.js +237 -0
  14. package/dist/source/helpers/argument_list.js.map +1 -0
  15. package/dist/source/helpers/call_helpers.d.ts +6 -0
  16. package/dist/source/helpers/call_helpers.js +71 -0
  17. package/dist/source/helpers/call_helpers.js.map +1 -0
  18. package/dist/source/helpers/check_event_clause.d.ts +17 -0
  19. package/dist/source/helpers/check_event_clause.js +53 -0
  20. package/dist/source/helpers/check_event_clause.js.map +1 -0
  21. package/dist/source/helpers/coerce_enum_value.d.ts +6 -0
  22. package/dist/source/helpers/coerce_enum_value.js +34 -0
  23. package/dist/source/helpers/coerce_enum_value.js.map +1 -0
  24. package/dist/source/helpers/dump_tools.d.ts +14 -0
  25. package/dist/source/helpers/dump_tools.js +79 -0
  26. package/dist/source/helpers/dump_tools.js.map +1 -0
  27. package/dist/source/helpers/ensure_secure_access.d.ts +9 -0
  28. package/dist/source/helpers/ensure_secure_access.js +90 -0
  29. package/dist/source/helpers/ensure_secure_access.js.map +1 -0
  30. package/dist/source/helpers/make_optionals_map.d.ts +21 -0
  31. package/dist/source/helpers/make_optionals_map.js +30 -0
  32. package/dist/source/helpers/make_optionals_map.js.map +1 -0
  33. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -0
  34. package/dist/source/helpers/resolve_opaque_on_address_space.js +37 -0
  35. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +1 -0
  36. package/dist/source/index.d.ts +39 -0
  37. package/dist/source/index.js +62 -0
  38. package/dist/source/index.js.map +1 -0
  39. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -0
  40. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +3 -0
  41. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -0
  42. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +1 -0
  43. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +3 -0
  44. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +1 -0
  45. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +4 -0
  46. package/dist/source/interfaces/data_access/ua_discrete_item.js +3 -0
  47. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +1 -0
  48. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +25 -0
  49. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +3 -0
  50. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +1 -0
  51. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -0
  52. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +3 -0
  53. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +1 -0
  54. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +27 -0
  55. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +3 -0
  56. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +1 -0
  57. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -0
  58. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +3 -0
  59. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +1 -0
  60. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +17 -0
  61. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +3 -0
  62. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +1 -0
  63. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -0
  64. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +3 -0
  65. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +1 -0
  66. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +4 -0
  67. package/dist/source/interfaces/data_access/ua_y_array_item.js +3 -0
  68. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +1 -0
  69. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -0
  70. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +3 -0
  71. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +1 -0
  72. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +11 -0
  73. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +3 -0
  74. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +1 -0
  75. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +69 -0
  76. package/dist/source/interfaces/state_machine/finite_state_machine.js +3 -0
  77. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +1 -0
  78. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +74 -0
  79. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +3 -0
  80. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +1 -0
  81. package/dist/source/interfaces/state_machine/state_machine.d.ts +342 -0
  82. package/dist/source/interfaces/state_machine/state_machine.js +3 -0
  83. package/dist/source/interfaces/state_machine/state_machine.js.map +1 -0
  84. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -0
  85. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +3 -0
  86. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +1 -0
  87. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -0
  88. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +3 -0
  89. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +1 -0
  90. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +18 -0
  91. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +3 -0
  92. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +1 -0
  93. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -0
  94. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +3 -0
  95. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +1 -0
  96. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -0
  97. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +3 -0
  98. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +1 -0
  99. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +29 -0
  100. package/dist/source/interfaces/state_machine/ua_state_variable.js +3 -0
  101. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +1 -0
  102. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -0
  103. package/dist/source/interfaces/state_machine/ua_transition_ex.js +3 -0
  104. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +1 -0
  105. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +26 -0
  106. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +3 -0
  107. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +1 -0
  108. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +41 -0
  109. package/dist/source/interfaces/subscription_diagnostics_variable.js +3 -0
  110. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +1 -0
  111. package/dist/source/interfaces/ua_authorisation_service.d.ts +1 -0
  112. package/dist/source/interfaces/ua_authorisation_service.js +3 -0
  113. package/dist/source/interfaces/ua_authorisation_service.js.map +1 -0
  114. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -0
  115. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +3 -0
  116. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -0
  117. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -0
  118. package/dist/source/loader/generateAddressSpaceRaw.js +59 -0
  119. package/dist/source/loader/generateAddressSpaceRaw.js.map +1 -0
  120. package/dist/source/loader/load_nodeset2.d.ts +13 -0
  121. package/dist/source/loader/load_nodeset2.js +1392 -0
  122. package/dist/source/loader/load_nodeset2.js.map +1 -0
  123. package/dist/source/loader/namespace_post_step.d.ts +6 -0
  124. package/dist/source/loader/namespace_post_step.js +48 -0
  125. package/dist/source/loader/namespace_post_step.js.map +1 -0
  126. package/dist/source/loader/register_node_promoter.d.ts +3 -0
  127. package/dist/source/loader/register_node_promoter.js +10 -0
  128. package/dist/source/loader/register_node_promoter.js.map +1 -0
  129. package/dist/source/namespace.d.ts +6 -0
  130. package/dist/source/namespace.js +3 -0
  131. package/dist/source/namespace.js.map +1 -0
  132. package/dist/source/namespace_alarm_and_condition.d.ts +24 -0
  133. package/dist/source/namespace_alarm_and_condition.js +3 -0
  134. package/dist/source/namespace_alarm_and_condition.js.map +1 -0
  135. package/dist/source/namespace_data_access.d.ts +42 -0
  136. package/dist/source/namespace_data_access.js +3 -0
  137. package/dist/source/namespace_data_access.js.map +1 -0
  138. package/dist/source/namespace_machine_state.d.ts +7 -0
  139. package/dist/source/namespace_machine_state.js +3 -0
  140. package/dist/source/namespace_machine_state.js.map +1 -0
  141. package/dist/source/pseudo_session.d.ts +55 -0
  142. package/dist/source/pseudo_session.js +205 -0
  143. package/dist/source/pseudo_session.js.map +1 -0
  144. package/dist/source/session_context.d.ts +111 -0
  145. package/dist/source/session_context.js +266 -0
  146. package/dist/source/session_context.js.map +1 -0
  147. package/dist/source/set_namespace_meta_data.d.ts +2 -0
  148. package/dist/source/set_namespace_meta_data.js +60 -0
  149. package/dist/source/set_namespace_meta_data.js.map +1 -0
  150. package/dist/source/ua_namespace_meta_data_type.d.ts +71 -0
  151. package/dist/source/ua_namespace_meta_data_type.js +3 -0
  152. package/dist/source/ua_namespace_meta_data_type.js.map +1 -0
  153. package/dist/source/ua_root_folder.d.ts +9 -0
  154. package/dist/source/ua_root_folder.js +3 -0
  155. package/dist/source/ua_root_folder.js.map +1 -0
  156. package/dist/source/ua_two_state_variable_ex.d.ts +23 -0
  157. package/dist/source/ua_two_state_variable_ex.js +3 -0
  158. package/dist/source/ua_two_state_variable_ex.js.map +1 -0
  159. package/dist/source/xml_writer.d.ts +9 -0
  160. package/dist/source/xml_writer.js +3 -0
  161. package/dist/source/xml_writer.js.map +1 -0
  162. package/dist/src/address_space.d.ts +393 -0
  163. package/dist/src/address_space.js +1375 -0
  164. package/dist/src/address_space.js.map +1 -0
  165. package/dist/src/address_space_change_event_tools.d.ts +6 -0
  166. package/dist/src/address_space_change_event_tools.js +150 -0
  167. package/dist/src/address_space_change_event_tools.js.map +1 -0
  168. package/dist/src/address_space_private.d.ts +44 -0
  169. package/dist/src/address_space_private.js +3 -0
  170. package/dist/src/address_space_private.js.map +1 -0
  171. package/dist/src/alarms_and_conditions/base_event_type.d.ts +26 -0
  172. package/dist/src/alarms_and_conditions/base_event_type.js +41 -0
  173. package/dist/src/alarms_and_conditions/base_event_type.js.map +1 -0
  174. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -0
  175. package/dist/src/alarms_and_conditions/check_where_clause.js +110 -0
  176. package/dist/src/alarms_and_conditions/check_where_clause.js.map +1 -0
  177. package/dist/src/alarms_and_conditions/condition.d.ts +5 -0
  178. package/dist/src/alarms_and_conditions/condition.js +81 -0
  179. package/dist/src/alarms_and_conditions/condition.js.map +1 -0
  180. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -0
  181. package/dist/src/alarms_and_conditions/condition_info.js +55 -0
  182. package/dist/src/alarms_and_conditions/condition_info.js.map +1 -0
  183. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +232 -0
  184. package/dist/src/alarms_and_conditions/condition_snapshot.js +667 -0
  185. package/dist/src/alarms_and_conditions/condition_snapshot.js.map +1 -0
  186. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -0
  187. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +47 -0
  188. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -0
  189. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -0
  190. package/dist/src/alarms_and_conditions/extract_event_fields.js +90 -0
  191. package/dist/src/alarms_and_conditions/extract_event_fields.js.map +1 -0
  192. package/dist/src/alarms_and_conditions/index.d.ts +18 -0
  193. package/dist/src/alarms_and_conditions/index.js +31 -0
  194. package/dist/src/alarms_and_conditions/index.js.map +1 -0
  195. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +22 -0
  196. package/dist/src/alarms_and_conditions/shelving_state_machine.js +241 -0
  197. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +1 -0
  198. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +16 -0
  199. package/dist/src/alarms_and_conditions/trip_alarm.js +21 -0
  200. package/dist/src/alarms_and_conditions/trip_alarm.js.map +1 -0
  201. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +54 -0
  202. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +255 -0
  203. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +1 -0
  204. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +62 -0
  205. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -0
  206. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -0
  207. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +138 -0
  208. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +460 -0
  209. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +1 -0
  210. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +118 -0
  211. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +417 -0
  212. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -0
  213. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -0
  214. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +39 -0
  215. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -0
  216. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +35 -0
  217. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +32 -0
  218. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +1 -0
  219. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +21 -0
  220. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +26 -0
  221. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -0
  222. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +191 -0
  223. package/dist/src/alarms_and_conditions/ua_condition_base.js +1029 -0
  224. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +1 -0
  225. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +182 -0
  226. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1021 -0
  227. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -0
  228. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +11 -0
  229. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +58 -0
  230. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +1 -0
  231. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +17 -0
  232. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +58 -0
  233. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -0
  234. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +24 -0
  235. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +59 -0
  236. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +1 -0
  237. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +27 -0
  238. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +57 -0
  239. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -0
  240. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +14 -0
  241. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +17 -0
  242. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +1 -0
  243. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +9 -0
  244. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +12 -0
  245. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -0
  246. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +22 -0
  247. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +87 -0
  248. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +1 -0
  249. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +38 -0
  250. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +87 -0
  251. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -0
  252. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +6 -0
  253. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +11 -0
  254. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +1 -0
  255. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -0
  256. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +8 -0
  257. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -0
  258. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +76 -0
  259. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +237 -0
  260. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +1 -0
  261. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +98 -0
  262. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +233 -0
  263. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -0
  264. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +27 -0
  265. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +62 -0
  266. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +1 -0
  267. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -0
  268. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +51 -0
  269. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -0
  270. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +49 -0
  271. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +176 -0
  272. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +1 -0
  273. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +25 -0
  274. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +163 -0
  275. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -0
  276. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +47 -0
  277. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +151 -0
  278. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +1 -0
  279. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +39 -0
  280. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +136 -0
  281. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -0
  282. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +16 -0
  283. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +18 -0
  284. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +1 -0
  285. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +16 -0
  286. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +18 -0
  287. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -0
  288. package/dist/src/apply_condition_refresh.d.ts +6 -0
  289. package/dist/src/apply_condition_refresh.js +28 -0
  290. package/dist/src/apply_condition_refresh.js.map +1 -0
  291. package/dist/src/base_node.d.ts +279 -0
  292. package/dist/src/base_node.js +1364 -0
  293. package/dist/src/base_node.js.map +1 -0
  294. package/dist/src/base_node_impl.d.ts +281 -0
  295. package/dist/src/base_node_impl.js +1394 -0
  296. package/dist/src/base_node_impl.js.map +1 -0
  297. package/dist/src/base_node_private.d.ts +61 -0
  298. package/dist/src/base_node_private.js +521 -0
  299. package/dist/src/base_node_private.js.map +1 -0
  300. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -0
  301. package/dist/src/data_access/add_dataItem_stuff.js +62 -0
  302. package/dist/src/data_access/add_dataItem_stuff.js.map +1 -0
  303. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -0
  304. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +35 -0
  305. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js.map +1 -0
  306. package/dist/src/data_access/ua_analog_item.d.ts +13 -0
  307. package/dist/src/data_access/ua_analog_item.js +37 -0
  308. package/dist/src/data_access/ua_analog_item.js.map +1 -0
  309. package/dist/src/data_access/ua_data_item.d.ts +16 -0
  310. package/dist/src/data_access/ua_data_item.js +66 -0
  311. package/dist/src/data_access/ua_data_item.js.map +1 -0
  312. package/dist/src/data_access/ua_multistate_discrete.d.ts +23 -0
  313. package/dist/src/data_access/ua_multistate_discrete.js +131 -0
  314. package/dist/src/data_access/ua_multistate_discrete.js.map +1 -0
  315. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -0
  316. package/dist/src/data_access/ua_multistate_discrete_impl.js +131 -0
  317. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -0
  318. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -0
  319. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -0
  320. package/dist/src/data_access/ua_multistate_value_discrete.js.map +1 -0
  321. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -0
  322. package/dist/src/data_access/ua_two_state_discrete.js +154 -0
  323. package/dist/src/data_access/ua_two_state_discrete.js.map +1 -0
  324. package/dist/src/event_data.d.ts +29 -0
  325. package/dist/src/event_data.js +96 -0
  326. package/dist/src/event_data.js.map +1 -0
  327. package/dist/src/extension_object_array_node.d.ts +61 -0
  328. package/dist/src/extension_object_array_node.js +266 -0
  329. package/dist/src/extension_object_array_node.js.map +1 -0
  330. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -0
  331. package/dist/src/historical_access/address_space_historical_data_node.js +662 -0
  332. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -0
  333. package/dist/src/index_current.d.ts +42 -0
  334. package/dist/src/index_current.js +71 -0
  335. package/dist/src/index_current.js.map +1 -0
  336. package/dist/src/namespace.d.ts +475 -0
  337. package/dist/src/namespace.js +1775 -0
  338. package/dist/src/namespace.js.map +1 -0
  339. package/dist/src/namespace_impl.d.ts +463 -0
  340. package/dist/src/namespace_impl.js +1763 -0
  341. package/dist/src/namespace_impl.js.map +1 -0
  342. package/dist/src/namespace_private.d.ts +21 -0
  343. package/dist/src/namespace_private.js +29 -0
  344. package/dist/src/namespace_private.js.map +1 -0
  345. package/dist/src/nodeid_manager.d.ts +36 -0
  346. package/dist/src/nodeid_manager.js +196 -0
  347. package/dist/src/nodeid_manager.js.map +1 -0
  348. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -0
  349. package/dist/src/nodeset_tools/adjust_namespace_array.js +14 -0
  350. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +1 -0
  351. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -0
  352. package/dist/src/nodeset_tools/construct_namespace_dependency.js +39 -0
  353. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +1 -0
  354. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -0
  355. package/dist/src/nodeset_tools/nodeset_to_xml.js +1155 -0
  356. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -0
  357. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -0
  358. package/dist/src/nodeset_tools/typedictionary_to_xml.js +147 -0
  359. package/dist/src/nodeset_tools/typedictionary_to_xml.js.map +1 -0
  360. package/dist/src/reference.d.ts +43 -0
  361. package/dist/src/reference.js +138 -0
  362. package/dist/src/reference.js.map +1 -0
  363. package/dist/src/reference_impl.d.ts +43 -0
  364. package/dist/src/reference_impl.js +138 -0
  365. package/dist/src/reference_impl.js.map +1 -0
  366. package/dist/src/role_permissions.d.ts +2 -0
  367. package/dist/src/role_permissions.js +11 -0
  368. package/dist/src/role_permissions.js.map +1 -0
  369. package/dist/src/session_context.d.ts +4 -0
  370. package/dist/src/session_context.js +9 -0
  371. package/dist/src/session_context.js.map +1 -0
  372. package/dist/src/state_machine/finite_state_machine.d.ts +67 -0
  373. package/dist/src/state_machine/finite_state_machine.js +354 -0
  374. package/dist/src/state_machine/finite_state_machine.js.map +1 -0
  375. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -0
  376. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +244 -0
  377. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -0
  378. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -0
  379. package/dist/src/state_machine/ua_two_state_variable.js +332 -0
  380. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -0
  381. package/dist/src/tool_isSupertypeOf.d.ts +17 -0
  382. package/dist/src/tool_isSupertypeOf.js +103 -0
  383. package/dist/src/tool_isSupertypeOf.js.map +1 -0
  384. package/dist/src/ua_condition_type.d.ts +8 -0
  385. package/dist/src/ua_condition_type.js +3 -0
  386. package/dist/src/ua_condition_type.js.map +1 -0
  387. package/dist/src/ua_data_type.d.ts +83 -0
  388. package/dist/src/ua_data_type.js +289 -0
  389. package/dist/src/ua_data_type.js.map +1 -0
  390. package/dist/src/ua_data_type_impl.d.ts +83 -0
  391. package/dist/src/ua_data_type_impl.js +291 -0
  392. package/dist/src/ua_data_type_impl.js.map +1 -0
  393. package/dist/src/ua_method.d.ts +42 -0
  394. package/dist/src/ua_method.js +204 -0
  395. package/dist/src/ua_method.js.map +1 -0
  396. package/dist/src/ua_method_impl.d.ts +40 -0
  397. package/dist/src/ua_method_impl.js +203 -0
  398. package/dist/src/ua_method_impl.js.map +1 -0
  399. package/dist/src/ua_object.d.ts +29 -0
  400. package/dist/src/ua_object.js +153 -0
  401. package/dist/src/ua_object.js.map +1 -0
  402. package/dist/src/ua_object_impl.d.ts +29 -0
  403. package/dist/src/ua_object_impl.js +156 -0
  404. package/dist/src/ua_object_impl.js.map +1 -0
  405. package/dist/src/ua_object_type.d.ts +49 -0
  406. package/dist/src/ua_object_type.js +124 -0
  407. package/dist/src/ua_object_type.js.map +1 -0
  408. package/dist/src/ua_object_type_impl.d.ts +48 -0
  409. package/dist/src/ua_object_type_impl.js +124 -0
  410. package/dist/src/ua_object_type_impl.js.map +1 -0
  411. package/dist/src/ua_reference_type.d.ts +42 -0
  412. package/dist/src/ua_reference_type.js +138 -0
  413. package/dist/src/ua_reference_type.js.map +1 -0
  414. package/dist/src/ua_reference_type_impl.d.ts +43 -0
  415. package/dist/src/ua_reference_type_impl.js +138 -0
  416. package/dist/src/ua_reference_type_impl.js.map +1 -0
  417. package/dist/src/ua_variable.d.ts +346 -0
  418. package/dist/src/ua_variable.js +1721 -0
  419. package/dist/src/ua_variable.js.map +1 -0
  420. package/dist/src/ua_variable_impl.d.ts +353 -0
  421. package/dist/src/ua_variable_impl.js +1719 -0
  422. package/dist/src/ua_variable_impl.js.map +1 -0
  423. package/dist/src/ua_variable_type.d.ts +54 -0
  424. package/dist/src/ua_variable_type.js +555 -0
  425. package/dist/src/ua_variable_type.js.map +1 -0
  426. package/dist/src/ua_variable_type_impl.d.ts +63 -0
  427. package/dist/src/ua_variable_type_impl.js +556 -0
  428. package/dist/src/ua_variable_type_impl.js.map +1 -0
  429. package/dist/src/ua_view.d.ts +16 -0
  430. package/dist/src/ua_view.js +42 -0
  431. package/dist/src/ua_view.js.map +1 -0
  432. package/dist/src/ua_view_impl.d.ts +15 -0
  433. package/dist/src/ua_view_impl.js +37 -0
  434. package/dist/src/ua_view_impl.js.map +1 -0
  435. package/distHelpers/add_event_generator_object.d.ts +3 -0
  436. package/distHelpers/add_event_generator_object.js +66 -0
  437. package/distHelpers/add_event_generator_object.js.map +1 -0
  438. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -0
  439. package/distHelpers/alarms_and_conditions_demo.js +115 -0
  440. package/distHelpers/alarms_and_conditions_demo.js.map +1 -0
  441. package/distHelpers/assertHasMatchingReference.d.ts +19 -0
  442. package/distHelpers/assertHasMatchingReference.js +41 -0
  443. package/distHelpers/assertHasMatchingReference.js.map +1 -0
  444. package/distHelpers/boiler_system.d.ts +113 -0
  445. package/distHelpers/boiler_system.js +397 -0
  446. package/distHelpers/boiler_system.js.map +1 -0
  447. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -0
  448. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -0
  449. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -0
  450. package/distHelpers/dump_statemachine.d.ts +6 -0
  451. package/distHelpers/dump_statemachine.js +116 -0
  452. package/distHelpers/dump_statemachine.js.map +1 -0
  453. package/distHelpers/get_address_space_fixture.d.ts +1 -0
  454. package/distHelpers/get_address_space_fixture.js +31 -0
  455. package/distHelpers/get_address_space_fixture.js.map +1 -0
  456. package/distHelpers/get_mini_address_space.d.ts +7 -0
  457. package/distHelpers/get_mini_address_space.js +37 -0
  458. package/distHelpers/get_mini_address_space.js.map +1 -0
  459. package/distHelpers/index.d.ts +11 -0
  460. package/distHelpers/index.js +24 -0
  461. package/distHelpers/index.js.map +1 -0
  462. package/distNodeJS/generate_address_space.d.ts +4 -0
  463. package/distNodeJS/generate_address_space.js +31 -0
  464. package/distNodeJS/generate_address_space.js.map +1 -0
  465. package/distNodeJS/index.d.ts +1 -0
  466. package/distNodeJS/index.js +14 -0
  467. package/distNodeJS/index.js.map +1 -0
  468. package/generate.js +1 -0
  469. package/nodeJS.d.ts +1 -0
  470. package/nodeJS.js +1 -0
  471. package/package.json +87 -0
  472. package/source/address_space_ts.ts +217 -0
  473. package/source/continuation_points/continuation_point_manager.ts +121 -0
  474. package/source/helpers/adjust_browse_direction.ts +15 -0
  475. package/source/helpers/argument_list.ts +286 -0
  476. package/source/helpers/call_helpers.ts +112 -0
  477. package/source/helpers/check_event_clause.ts +62 -0
  478. package/source/helpers/coerce_enum_value.ts +33 -0
  479. package/source/helpers/dump_tools.ts +92 -0
  480. package/source/helpers/ensure_secure_access.ts +88 -0
  481. package/source/helpers/make_optionals_map.ts +49 -0
  482. package/source/helpers/resolve_opaque_on_address_space.ts +23 -0
  483. package/source/index.ts +49 -0
  484. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +13 -0
  485. package/source/interfaces/data_access/ua_multistate_discrete_ex.ts +26 -0
  486. package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +34 -0
  487. package/source/interfaces/data_access/ua_two_state_discrete_ex.ts +14 -0
  488. package/source/interfaces/data_access/ua_y_array_item_ex.ts +10 -0
  489. package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +14 -0
  490. package/source/interfaces/state_machine/ua_finite_state_machine_type.ts +50 -0
  491. package/source/interfaces/state_machine/ua_program_state_machine_type.ts +13 -0
  492. package/source/interfaces/state_machine/ua_state_machine_type.ts +261 -0
  493. package/source/interfaces/state_machine/ua_transition_ex.ts +7 -0
  494. package/source/interfaces/ua_subscription_diagnostics_variable_ex.ts +8 -0
  495. package/source/loader/generateAddressSpaceRaw.ts +79 -0
  496. package/source/loader/load_nodeset2.ts +1600 -0
  497. package/source/loader/namespace_post_step.ts +36 -0
  498. package/source/loader/register_node_promoter.ts +8 -0
  499. package/source/namespace.ts +9 -0
  500. package/source/namespace_alarm_and_condition.ts +47 -0
  501. package/source/namespace_data_access.ts +60 -0
  502. package/source/namespace_machine_state.ts +13 -0
  503. package/source/pseudo_session.ts +288 -0
  504. package/source/session_context.ts +345 -0
  505. package/source/set_namespace_meta_data.ts +68 -0
  506. package/source/ua_root_folder.ts +10 -0
  507. package/source/ua_two_state_variable_ex.ts +35 -0
  508. package/source/xml_writer.ts +15 -0
  509. package/source_nodejs/generate_address_space.ts +36 -0
  510. package/source_nodejs/index.ts +1 -0
  511. package/src/address_space.ts +1575 -0
  512. package/src/address_space_change_event_tools.ts +177 -0
  513. package/src/address_space_private.ts +98 -0
  514. package/src/alarms_and_conditions/check_where_clause.ts +148 -0
  515. package/src/alarms_and_conditions/condition.ts +89 -0
  516. package/src/alarms_and_conditions/condition_info.ts +66 -0
  517. package/src/alarms_and_conditions/condition_snapshot.ts +766 -0
  518. package/src/alarms_and_conditions/deviation_alarm_helper.ts +66 -0
  519. package/src/alarms_and_conditions/extract_event_fields.ts +104 -0
  520. package/src/alarms_and_conditions/index.ts +18 -0
  521. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +339 -0
  522. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +513 -0
  523. package/src/alarms_and_conditions/ua_base_event_impl.ts +55 -0
  524. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +50 -0
  525. package/src/alarms_and_conditions/ua_condition_impl.ts +1298 -0
  526. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +81 -0
  527. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +110 -0
  528. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +19 -0
  529. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +130 -0
  530. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +24 -0
  531. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +305 -0
  532. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +108 -0
  533. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +224 -0
  534. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +186 -0
  535. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +27 -0
  536. package/src/apply_condition_refresh.ts +30 -0
  537. package/src/base_node_impl.ts +1749 -0
  538. package/src/base_node_private.ts +690 -0
  539. package/src/data_access/add_dataItem_stuff.ts +75 -0
  540. package/src/data_access/check_variant_compatibility_ua_analog_item.ts +41 -0
  541. package/src/data_access/ua_multistate_discrete_impl.ts +168 -0
  542. package/src/data_access/ua_multistate_value_discrete.ts +299 -0
  543. package/src/data_access/ua_two_state_discrete.ts +185 -0
  544. package/src/event_data.ts +117 -0
  545. package/src/extension_object_array_node.ts +325 -0
  546. package/src/historical_access/address_space_historical_data_node.ts +828 -0
  547. package/src/index_current.ts +52 -0
  548. package/src/namespace_impl.ts +2181 -0
  549. package/src/namespace_private.ts +60 -0
  550. package/src/nodeid_manager.ts +228 -0
  551. package/src/nodeset_tools/adjust_namespace_array.ts +11 -0
  552. package/src/nodeset_tools/construct_namespace_dependency.ts +40 -0
  553. package/src/nodeset_tools/nodeset_to_xml.ts +1317 -0
  554. package/src/nodeset_tools/typedictionary_to_xml.ts +175 -0
  555. package/src/reference_impl.ts +169 -0
  556. package/src/role_permissions.ts +6 -0
  557. package/src/state_machine/finite_state_machine.ts +428 -0
  558. package/src/state_machine/ua_shelving_state_machine_ex.ts +314 -0
  559. package/src/state_machine/ua_two_state_variable.ts +421 -0
  560. package/src/tool_isSupertypeOf.ts +129 -0
  561. package/src/ua_condition_type.ts +10 -0
  562. package/src/ua_data_type_impl.ts +356 -0
  563. package/src/ua_method_impl.ts +278 -0
  564. package/src/ua_object_impl.ts +203 -0
  565. package/src/ua_object_type_impl.ts +158 -0
  566. package/src/ua_reference_type_impl.ts +174 -0
  567. package/src/ua_variable_impl.ts +2277 -0
  568. package/src/ua_variable_type_impl.ts +741 -0
  569. package/src/ua_view_impl.ts +54 -0
  570. package/testHelpers.d.ts +1 -0
  571. package/testHelpers.js +1 -0
  572. package/test_helpers/add_event_generator_object.ts +71 -0
  573. package/test_helpers/alarms_and_conditions_demo.ts +147 -0
  574. package/test_helpers/assertHasMatchingReference.ts +43 -0
  575. package/test_helpers/boiler_system.ts +618 -0
  576. package/test_helpers/create_minimalist_address_space_nodeset.ts +208 -0
  577. package/test_helpers/dump_statemachine.ts +155 -0
  578. package/test_helpers/get_address_space_fixture.ts +30 -0
  579. package/test_helpers/get_mini_address_space.ts +42 -0
  580. package/test_helpers/index.ts +11 -0
  581. package/test_helpers/test_fixtures/dataType_in_separateNamespace.xml +150 -0
  582. package/test_helpers/test_fixtures/dataType_in_separateNamespace_basic.xml +57 -0
  583. package/test_helpers/test_fixtures/dataType_in_separateNamespace_mix.xml +136 -0
  584. package/test_helpers/test_fixtures/dataType_withEnumeration.xml +82 -0
  585. package/test_helpers/test_fixtures/dataType_with_isOptionSet.xml +194 -0
  586. package/test_helpers/test_fixtures/dataType_with_structures.xml +605 -0
  587. package/test_helpers/test_fixtures/dataType_with_union.xml +1 -0
  588. package/test_helpers/test_fixtures/datatype_as_per_1.04.xml +91 -0
  589. package/test_helpers/test_fixtures/fixture_empty_nodeset2.xml +106 -0
  590. package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +1303 -0
  591. package/test_helpers/test_fixtures/fixuture_nodeset_objects_with_some_methods.xml +362 -0
  592. package/test_helpers/test_fixtures/issue_846.xml +3172 -0
  593. package/test_helpers/test_fixtures/issue_899_variable_with_nodeid_value.xml +33 -0
  594. package/test_helpers/test_fixtures/mini.Node.Set2.xml +4508 -0
  595. package/test_helpers/test_fixtures/mini.nodeset.withVariousVariables.xml +194 -0
  596. package/test_helpers/test_fixtures/minimalist_nodeset_with_models.xml +8 -0
  597. package/test_helpers/test_fixtures/minimalist_nodeset_with_models_more_complex.xml +16 -0
  598. package/test_helpers/test_fixtures/nodeset_with_analog_items.xml +45 -0
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ /**
3
+ * @module node-opcua-address-space
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UAReferenceTypeImpl = void 0;
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
9
+ const node_opcua_data_model_2 = require("node-opcua-data-model");
10
+ const node_opcua_data_model_3 = require("node-opcua-data-model");
11
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
12
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
13
+ const node_opcua_variant_1 = require("node-opcua-variant");
14
+ const source_1 = require("../source");
15
+ const base_node_impl_1 = require("./base_node_impl");
16
+ const tools = require("./tool_isSupertypeOf");
17
+ const tool_isSupertypeOf_1 = require("./tool_isSupertypeOf");
18
+ const reference_impl_1 = require("./reference_impl");
19
+ const base_node_private_1 = require("./base_node_private");
20
+ const ReferenceTypeCounter = { count: 0 };
21
+ function _internal_getAllSubtypes(referenceType) {
22
+ const addressSpace = referenceType.addressSpace;
23
+ const possibleReferenceTypes = [];
24
+ const hasSubtypeReferenceType = addressSpace.findReferenceType("HasSubtype");
25
+ function _findAllSubType(referenceTypeInner) {
26
+ possibleReferenceTypes.push(referenceTypeInner);
27
+ (0, node_opcua_assert_1.assert)(referenceTypeInner.nodeClass === node_opcua_data_model_2.NodeClass.ReferenceType);
28
+ const references = referenceTypeInner.findReferences(hasSubtypeReferenceType, true);
29
+ for (const _r of references) {
30
+ const subType = addressSpace.findReferenceType(_r.nodeId);
31
+ _findAllSubType(subType);
32
+ }
33
+ }
34
+ _findAllSubType(referenceType);
35
+ return possibleReferenceTypes;
36
+ }
37
+ function _getAllSubtypes(ref) {
38
+ const _cache = (0, base_node_private_1.BaseNode_getCache)(ref);
39
+ if (!_cache._allSubTypesVersion || _cache._allSubTypesVersion < ReferenceTypeCounter.count) {
40
+ _cache._allSubTypes = null;
41
+ }
42
+ if (!_cache._allSubTypes) {
43
+ _cache._allSubTypes = _internal_getAllSubtypes(ref);
44
+ _cache._allSubTypesVersion = ReferenceTypeCounter.count;
45
+ }
46
+ return _cache._allSubTypes;
47
+ }
48
+ function _internal_getSubtypeIndex(referenceType) {
49
+ const possibleReferenceTypes = _getAllSubtypes(referenceType);
50
+ // create a index of reference type with browseName as key for faster search
51
+ const keys = {};
52
+ for (const refType of possibleReferenceTypes) {
53
+ keys[refType.nodeId.toString()] = refType;
54
+ }
55
+ return keys;
56
+ }
57
+ function _getSubtypeIndex(referenceType) {
58
+ const _cache = (0, base_node_private_1.BaseNode_getCache)(referenceType);
59
+ if (!_cache._subtype_idx || _cache._subtype_idxVersion < ReferenceTypeCounter.count) {
60
+ // the cache need to be invalidated
61
+ _cache._subtype_idx = null;
62
+ }
63
+ if (!_cache._subtype_idx) {
64
+ _cache._subtype_idx = _internal_getSubtypeIndex(referenceType);
65
+ _cache._subtype_idxVersion = ReferenceTypeCounter.count;
66
+ }
67
+ return _cache._subtype_idx;
68
+ }
69
+ class UAReferenceTypeImpl extends base_node_impl_1.BaseNodeImpl {
70
+ constructor(options) {
71
+ super(options);
72
+ this.nodeClass = node_opcua_data_model_2.NodeClass.ReferenceType;
73
+ /**
74
+ * returns true if self is a super type of baseType
75
+ */
76
+ this.isSupertypeOf = tools.construct_isSupertypeOf(UAReferenceTypeImpl);
77
+ /**
78
+ * @private
79
+ */
80
+ this._slow_isSupertypeOf = tools.construct_slow_isSupertypeOf(UAReferenceTypeImpl);
81
+ this.isAbstract = options.isAbstract === undefined ? false : !!options.isAbstract;
82
+ this.symmetric = options.symmetric === undefined ? false : !!options.symmetric;
83
+ // Note: Inverse name is not required anymore in 1.0.4
84
+ this.inverseName = (0, node_opcua_data_model_1.coerceLocalizedText)(options.inverseName || this.browseName.name);
85
+ ReferenceTypeCounter.count += 1;
86
+ }
87
+ get subtypeOfObj() {
88
+ return tool_isSupertypeOf_1.get_subtypeOfObj.call(this);
89
+ }
90
+ get subtypeOf() {
91
+ return tool_isSupertypeOf_1.get_subtypeOf.call(this);
92
+ }
93
+ readAttribute(context, attributeId) {
94
+ (0, node_opcua_assert_1.assert)(!context || context instanceof source_1.SessionContext);
95
+ const options = {};
96
+ switch (attributeId) {
97
+ case node_opcua_data_model_3.AttributeIds.IsAbstract:
98
+ options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: !!this.isAbstract };
99
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
100
+ break;
101
+ case node_opcua_data_model_3.AttributeIds.Symmetric:
102
+ options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: !!this.symmetric };
103
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
104
+ break;
105
+ case node_opcua_data_model_3.AttributeIds.InverseName: // LocalizedText
106
+ options.value = { dataType: node_opcua_variant_1.DataType.LocalizedText, value: this.inverseName };
107
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
108
+ break;
109
+ default:
110
+ return super.readAttribute(context, attributeId);
111
+ }
112
+ return new node_opcua_data_value_1.DataValue(options);
113
+ }
114
+ toString() {
115
+ let str = "";
116
+ str += this.isAbstract ? "A" : " ";
117
+ str += this.symmetric ? "S" : " ";
118
+ str += " " + this.browseName.toString() + "/" + this.inverseName.text + " ";
119
+ str += this.nodeId.toString();
120
+ return str;
121
+ }
122
+ install_extra_properties() { }
123
+ /**
124
+ * returns a array of all ReferenceTypes in the addressSpace that are self or a subType of self
125
+ * recursively
126
+ */
127
+ getAllSubtypes() {
128
+ return _getAllSubtypes(this);
129
+ }
130
+ checkHasSubtype(ref) {
131
+ const _index = _getSubtypeIndex(this);
132
+ const referenceTypeNodeId = ref instanceof reference_impl_1.ReferenceImpl ? ref.nodeId : ref;
133
+ const _key = referenceTypeNodeId.toString();
134
+ return !!_index[_key];
135
+ }
136
+ }
137
+ exports.UAReferenceTypeImpl = UAReferenceTypeImpl;
138
+ //# sourceMappingURL=ua_reference_type_impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_reference_type_impl.js","sourceRoot":"","sources":["../../src/ua_reference_type_impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,346 @@
1
+ import { QualifiedNameLike, NodeClass, AccessLevelFlag, AttributeIds } from "node-opcua-data-model";
2
+ import { DataValue, DataValueOptions } from "node-opcua-data-value";
3
+ import { PreciseClock } from "node-opcua-date-time";
4
+ import { ExtensionObject } from "node-opcua-extension-object";
5
+ import { NodeId } from "node-opcua-nodeid";
6
+ import { NumericRange } from "node-opcua-numeric-range";
7
+ import { WriteValue, WriteValueOptions } from "node-opcua-service-write";
8
+ import { StatusCode, CallbackT } from "node-opcua-status-code";
9
+ import { HistoryReadResult, ReadAtTimeDetails, ReadEventDetails, ReadProcessedDetails, ReadRawModifiedDetails } from "node-opcua-types";
10
+ import { Variant, VariantLike, DataType } from "node-opcua-variant";
11
+ import { StatusCodeCallback } from "node-opcua-status-code";
12
+ import { BindVariableOptions, ContinuationPoint, DataValueCallback, HistoricalDataConfiguration, IVariableHistorian, UAVariable as UAVariablePublic, UAVariableType } from "../source";
13
+ import { BaseNode, InternalBaseNodeOptions } from "./base_node";
14
+ import { CloneOptions, CloneFilter, CloneExtraInfo } from "./base_node_private";
15
+ import { SessionContext } from "./session_context";
16
+ import { EnumerationInfo, IEnumItem, UADataType } from "./ua_data_type";
17
+ export declare function adjust_accessLevel(accessLevel: string | number | null): AccessLevelFlag;
18
+ export declare function adjust_userAccessLevel(userAccessLevel: string | number | null | undefined, accessLevel: string | number | null): AccessLevelFlag | undefined;
19
+ interface UAVariableOptions extends InternalBaseNodeOptions {
20
+ value?: any;
21
+ dataType: NodeId | string;
22
+ valueRank?: number;
23
+ arrayDimensions?: null | number[];
24
+ accessLevel?: any;
25
+ userAccessLevel?: any;
26
+ minimumSamplingInterval?: number;
27
+ historizing?: number;
28
+ }
29
+ export declare function verifyRankAndDimensions(options: {
30
+ valueRank?: number;
31
+ arrayDimensions?: number[] | null;
32
+ }): void;
33
+ declare type TimestampGetFunction1 = () => DataValue | Promise<DataValue>;
34
+ declare type TimestampGetFunction2 = (callback: (err: Error | null, dataValue?: DataValue) => void) => void;
35
+ declare type TimestampGetFunction = TimestampGetFunction1 | TimestampGetFunction2;
36
+ declare type TimestampSetFunction1 = (this: UAVariable, dataValue: DataValue, indexRange: NumericRange) => void | Promise<void>;
37
+ declare type TimestampSetFunction2 = (this: UAVariable, dataValue: DataValue, indexRange: NumericRange, callback: (err: Error | null, StatusCode: StatusCode) => void) => void;
38
+ declare type TimestampSetFunction = TimestampSetFunction1 | TimestampSetFunction2;
39
+ /**
40
+ * A OPCUA Variable Node
41
+ *
42
+ * @class UAVariable
43
+ * @constructor
44
+ * @extends BaseNode
45
+ * The AccessLevel Attribute is used to indicate how the Value of a Variable can be accessed (read/write) and if it
46
+ * contains current and/or historic data. The AccessLevel does not take any user access rights into account,
47
+ * i.e. although the Variable is writable this may be restricted to a certain user / user group.
48
+ * The AccessLevel is an 8-bit unsigned integer with the structure defined in the following table:
49
+ *
50
+ * Field Bit Description
51
+ * CurrentRead 0 Indicates if the current value is readable
52
+ * (0 means not readable, 1 means readable).
53
+ * CurrentWrite 1 Indicates if the current value is writable
54
+ * (0 means not writable, 1 means writable).
55
+ * HistoryRead 2 Indicates if the history of the value is readable
56
+ * (0 means not readable, 1 means readable).
57
+ * HistoryWrite 3 Indicates if the history of the value is writable (0 means not writable, 1 means writable).
58
+ * SemanticChange 4 Indicates if the Variable used as Property generates SemanticChangeEvents (see 9.31).
59
+ * Reserved 5:7 Reserved for future use. Shall always be zero.
60
+ *
61
+ * The first two bits also indicate if a current value of this Variable is available and the second two bits
62
+ * indicates if the history of the Variable is available via the OPC UA server.
63
+ *
64
+ */
65
+ export declare class UAVariable extends BaseNode implements UAVariablePublic {
66
+ readonly nodeClass = NodeClass.Variable;
67
+ dataType: NodeId;
68
+ $historicalDataConfiguration?: HistoricalDataConfiguration;
69
+ varHistorian?: IVariableHistorian;
70
+ /**
71
+ * @internal
72
+ */
73
+ _dataValue: DataValue;
74
+ accessLevel: number;
75
+ userAccessLevel?: number;
76
+ valueRank: number;
77
+ minimumSamplingInterval: number;
78
+ historizing: boolean;
79
+ semantic_version: number;
80
+ arrayDimensions: null | number[];
81
+ $extensionObject?: any;
82
+ _timestamped_get_func?: TimestampGetFunction | null;
83
+ _timestamped_set_func?: TimestampSetFunction | null;
84
+ _get_func: any;
85
+ _set_func: any;
86
+ refreshFunc?: (callback: DataValueCallback) => void;
87
+ __waiting_callbacks?: any[];
88
+ get typeDefinitionObj(): UAVariableType;
89
+ constructor(options: UAVariableOptions);
90
+ private checkPermissionAndAccessLevelPrivate;
91
+ isReadable(context: SessionContext): boolean;
92
+ isUserReadable(context: SessionContext): boolean;
93
+ isWritable(context: SessionContext): boolean;
94
+ isUserWritable(context: SessionContext): boolean;
95
+ /**
96
+ *
97
+ *
98
+ * from OPC.UA.Spec 1.02 part 4
99
+ * 5.10.2.4 StatusCodes
100
+ * Table 51 defines values for the operation level statusCode contained in the DataValue structure of
101
+ * each values element. Common StatusCodes are defined in Table 166.
102
+ *
103
+ * Table 51 Read Operation Level Result Codes
104
+ *
105
+ * Symbolic Id Description
106
+ *
107
+ * BadNodeIdInvalid The syntax of the node id is not valid.
108
+ * BadNodeIdUnknown The node id refers to a node that does not exist in the server address space.
109
+ * BadAttributeIdInvalid BadAttributeIdInvalid The attribute is not supported for the specified node.
110
+ * BadIndexRangeInvalid The syntax of the index range parameter is invalid.
111
+ * BadIndexRangeNoData No data exists within the range of indexes specified.
112
+ * BadDataEncodingInvalid The data encoding is invalid.
113
+ * This result is used if no dataEncoding can be applied because an Attribute other
114
+ * than Value was requested or the DataType of the Value Attribute is not a subtype
115
+ * of the Structure DataType.
116
+ * BadDataEncodingUnsupported The server does not support the requested data encoding for the node.
117
+ * This result is used if a dataEncoding can be applied but the passed data encoding
118
+ * is not known to the Server.
119
+ * BadNotReadable The access level does not allow reading or subscribing to the Node.
120
+ * BadUserAccessDenied User does not have permission to perform the requested operation. (table 165)
121
+ */
122
+ readValue(context?: SessionContext | null, indexRange?: NumericRange, dataEncoding?: string): DataValue;
123
+ isEnumeration(): boolean;
124
+ isExtensionObject(): boolean;
125
+ _getEnumerationInfo(): EnumerationInfo;
126
+ asyncRefresh(...args: any[]): any;
127
+ readEnumValue(): IEnumItem;
128
+ writeEnumValue(value: string | number): void;
129
+ readAttribute(context: SessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: string): DataValue;
130
+ adjustVariant(variant: Variant): Variant;
131
+ /**
132
+ * setValueFromSource is used to let the device sets the variable values
133
+ * this method also records the current time as sourceTimestamp and serverTimestamp.
134
+ * the method broadcasts an "value_changed" event
135
+ *
136
+ * The method will raise an exception if the value is not compatible with the dataType and expected dimension
137
+ *
138
+ * @method setValueFromSource
139
+ * @param variant {Variant}
140
+ * @param [statusCode {StatusCode} = StatusCodes.Good]
141
+ * @param [sourceTimestamp= Now]
142
+ */
143
+ setValueFromSource(variant: VariantLike, statusCode?: StatusCode, sourceTimestamp?: Date): void;
144
+ writeValue(context: SessionContext, dataValue: DataValueOptions, indexRange: string | NumericRange | null, callback: StatusCodeCallback): void;
145
+ writeValue(context: SessionContext, dataValue: DataValueOptions, callback: StatusCodeCallback): void;
146
+ writeValue(context: SessionContext, dataValue: DataValueOptions, indexRange?: string | NumericRange | null): Promise<StatusCode>;
147
+ writeAttribute(context: SessionContext | null, writeValueOptions: WriteValueOptions | WriteValue, callback?: (err: Error | null, statusCode?: StatusCode) => void): any;
148
+ /**
149
+ * @method checkVariantCompatibility
150
+ * note:
151
+ * this method is overridden in address-space-data-access
152
+ * @return {StatusCode}
153
+ */
154
+ checkVariantCompatibility(value: Variant): StatusCode;
155
+ /**
156
+ * @method touchValue
157
+ * touch the source timestamp of a Variable and cascade up the change
158
+ * to the parent variable if any.
159
+ *
160
+ * @param [optionalNow=null] {Object}
161
+ * @param optionalNow.timestamp {Date}
162
+ * @param optionalNow.picoseconds {Number}
163
+ */
164
+ touchValue(optionalNow?: PreciseClock): void;
165
+ /**
166
+ * bind a variable with a get and set functions.
167
+ *
168
+ * @method bindVariable
169
+ * @param options
170
+ * @param [options.dataType=null] the nodeId of the dataType
171
+ * @param [options.accessLevel] AccessLevelFlagItem
172
+ * @param [options.userAccessLevel] AccessLevelFlagItem
173
+ * @param [options.set] the variable setter function
174
+ * @param [options.get] the variable getter function. the function must return a Variant or a status code
175
+ * @param [options.timestamped_get] the getter function. this function must return a object with the following
176
+ * @param [options.historyRead]
177
+ *
178
+ * properties:
179
+ * - value: a Variant or a status code
180
+ * - sourceTimestamp
181
+ * - sourcePicoseconds
182
+ * @param [options.timestamped_set]
183
+ * @param [options.refreshFunc] the variable asynchronous getter function.
184
+ * @param [overwrite {Boolean} = false] set overwrite to true to overwrite existing binding
185
+ * @return void
186
+ *
187
+ *
188
+ * ### Providing read access to the underlying value
189
+ *
190
+ * #### Variation 1
191
+ *
192
+ * In this variation, the user provides a function that returns a Variant with the current value.
193
+ *
194
+ * The sourceTimestamp will be set automatically.
195
+ *
196
+ * The get function is called synchronously.
197
+ *
198
+ * @example
199
+ *
200
+ *
201
+ * ```javascript
202
+ * ...
203
+ * var options = {
204
+ * get : () => {
205
+ * return new Variant({...});
206
+ * },
207
+ * set : function(variant) {
208
+ * // store the variant somewhere
209
+ * return StatusCodes.Good;
210
+ * }
211
+ * };
212
+ * ...
213
+ * engine.bindVariable(nodeId,options):
214
+ * ...
215
+ * ```
216
+ *
217
+ *
218
+ * #### Variation 2:
219
+ *
220
+ * This variation can be used when the user wants to specify a specific '''sourceTimestamp''' associated
221
+ * with the current value of the UAVariable.
222
+ *
223
+ * The provided ```timestamped_get``` function should return an object with three properties:
224
+ * * value: containing the variant value or a error StatusCode,
225
+ * * sourceTimestamp
226
+ * * sourcePicoseconds
227
+ *
228
+ * ```javascript
229
+ * ...
230
+ * var myDataValue = new DataValue({
231
+ * value: {dataType: DataType.Double , value: 10.0},
232
+ * sourceTimestamp : new Date(),
233
+ * sourcePicoseconds: 0
234
+ * });
235
+ * ...
236
+ * var options = {
237
+ * timestamped_get : () => { return myDataValue; }
238
+ * };
239
+ * ...
240
+ * engine.bindVariable(nodeId,options):
241
+ * ...
242
+ * // record a new value
243
+ * myDataValue.value.value = 5.0;
244
+ * myDataValue.sourceTimestamp = new Date();
245
+ * ...
246
+ * ```
247
+ *
248
+ *
249
+ * #### Variation 3:
250
+ *
251
+ * This variation can be used when the value associated with the variables requires a asynchronous function call to be
252
+ * extracted. In this case, the user should provide an async method ```refreshFunc```.
253
+ *
254
+ *
255
+ * The ```refreshFunc``` shall do whatever is necessary to fetch the most up to date version of the variable value, and
256
+ * call the ```callback``` function when the data is ready.
257
+ *
258
+ *
259
+ * The ```callback``` function follow the standard callback function signature:
260
+ * * the first argument shall be **null** or **Error**, depending of the outcome of the fetch operation,
261
+ * * the second argument shall be a DataValue with the new UAVariable Value, a StatusCode, and time stamps.
262
+ *
263
+ *
264
+ * Optionally, it is possible to pass a sourceTimestamp and a sourcePicoseconds value as a third and fourth arguments
265
+ * of the callback. When sourceTimestamp and sourcePicoseconds are missing, the system will set their default value
266
+ * to the current time..
267
+ *
268
+ *
269
+ * ```javascript
270
+ * ...
271
+ * var options = {
272
+ * refreshFunc : function(callback) {
273
+ * ... do_some_async_stuff_to_get_the_new_variable_value
274
+ * var dataValue = new DataValue({
275
+ * value: new Variant({...}),
276
+ * statusCode: StatusCodes.Good,
277
+ * sourceTimestamp: new Date()
278
+ * });
279
+ * callback(null,dataValue);
280
+ * }
281
+ * };
282
+ * ...
283
+ * variable.bindVariable(nodeId,options):
284
+ * ...
285
+ * ```
286
+ *
287
+ * ### Providing write access to the underlying value
288
+ *
289
+ * #### Variation1 - provide a simple synchronous set function
290
+ *
291
+ *
292
+ * #### Notes
293
+ * to do : explain return StatusCodes.GoodCompletesAsynchronously;
294
+ *
295
+ */
296
+ bindVariable(options?: BindVariableOptions, overwrite?: boolean): void;
297
+ /**
298
+ * @method readValueAsync
299
+ */
300
+ readValueAsync(context: SessionContext | null, callback: CallbackT<DataValue>): void;
301
+ readValueAsync(context: SessionContext | null): Promise<DataValue>;
302
+ getWriteMask(): number;
303
+ getUserWriteMask(): number;
304
+ clone(options: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAVariable;
305
+ getDataTypeNode(): UADataType;
306
+ get dataTypeObj(): UADataType;
307
+ checkExtensionObjectIsCorrect(extObj: ExtensionObject | ExtensionObject[] | null): boolean;
308
+ /**
309
+ * @method bindExtensionObject
310
+ * @return {ExtensionObject}
311
+ */
312
+ bindExtensionObject(optionalExtensionObject?: ExtensionObject): ExtensionObject | null;
313
+ updateExtensionObjectPartial(partialExtensionObject: any): any;
314
+ incrementExtensionObjectPartial(path: any): void;
315
+ constructExtensionObjectFromComponents(): any;
316
+ toString(): string;
317
+ historyRead(context: SessionContext, historyReadDetails: ReadRawModifiedDetails | ReadEventDetails | ReadProcessedDetails | ReadAtTimeDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationPoint?: ContinuationPoint | null, callback?: CallbackT<HistoryReadResult>): any;
318
+ _historyReadRaw(context: SessionContext, historyReadRawModifiedDetails: ReadRawModifiedDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationPoint: ContinuationPoint | null, callback: CallbackT<HistoryReadResult>): void;
319
+ _historyReadRawModify(context: SessionContext, historyReadRawModifiedDetails: ReadRawModifiedDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationPoint?: ContinuationPoint | null, callback?: CallbackT<HistoryReadResult>): any;
320
+ _historyRead(context: SessionContext, historyReadDetails: ReadRawModifiedDetails | ReadEventDetails | ReadProcessedDetails | ReadAtTimeDetails, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationPoint: ContinuationPoint | null, callback: CallbackT<HistoryReadResult>): void;
321
+ _historyPush(newDataValue: DataValue): any;
322
+ _historyReadRawAsync(historyReadRawModifiedDetails: ReadRawModifiedDetails, maxNumberToExtract: number, isReversed: boolean, reverseDataValue: boolean, callback: CallbackT<DataValue[]>): any;
323
+ _historyReadModify(context: SessionContext, historyReadRawModifiedDetails: any, indexRange: NumericRange | null, dataEncoding: QualifiedNameLike | null, continuationPoint: ContinuationPoint | null, callback: CallbackT<HistoryReadResult>): any;
324
+ _update_startOfOnlineArchive(newDate: Date): void;
325
+ _update_startOfArchive(newDate: Date): void;
326
+ _validate_DataType(variantDataType: DataType): boolean;
327
+ _internal_set_dataValue(dataValue: DataValue, indexRange?: NumericRange | null): void;
328
+ _conditionRefresh(_cache?: any): void;
329
+ handle_semantic_changed(): void;
330
+ private _readDataType;
331
+ private _readValueRank;
332
+ private _readArrayDimensions;
333
+ private _readAccessLevel;
334
+ private _readAccessLevelEx;
335
+ private _readUserAccessLevel;
336
+ private _readMinimumSamplingInterval;
337
+ private _readHistorizing;
338
+ }
339
+ export interface UAVariable {
340
+ $$variableType?: any;
341
+ $$dataType?: any;
342
+ $$getElementBrowseName: any;
343
+ $$extensionObjectArray: any;
344
+ $$indexPropertyName: any;
345
+ }
346
+ export {};