node-opcua-address-space 2.180.0 → 2.181.1

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 (1084) hide show
  1. package/api/address_space_public.ts +63 -0
  2. package/api/address_space_ts.ts +129 -0
  3. package/api/continuation_points/continuation_point_manager.ts +271 -0
  4. package/api/helpers/argument_list.ts +310 -0
  5. package/api/helpers/call_helpers.ts +100 -0
  6. package/api/helpers/coerce_enum_value.ts +33 -0
  7. package/api/helpers/dump_tools.ts +90 -0
  8. package/api/helpers/ensure_secure_access.ts +78 -0
  9. package/api/helpers/multiform_func.ts +78 -0
  10. package/api/helpers/resolve_opaque_on_address_space.ts +26 -0
  11. package/api/index.ts +210 -0
  12. package/api/interfaces/alarms_and_conditions/condition_info_i.ts +60 -0
  13. package/api/interfaces/alarms_and_conditions/condition_snapshot.ts +236 -0
  14. package/api/interfaces/alarms_and_conditions/deviation_stuff.ts +16 -0
  15. package/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +8 -0
  16. package/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.ts +6 -0
  17. package/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +6 -0
  18. package/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +13 -0
  19. package/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.ts +6 -0
  20. package/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.ts +6 -0
  21. package/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +21 -0
  22. package/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +28 -0
  23. package/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +72 -0
  24. package/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +36 -0
  25. package/api/interfaces/alarms_and_conditions/ua_condition_ex.ts +55 -0
  26. package/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +17 -0
  27. package/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +21 -0
  28. package/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +21 -0
  29. package/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +26 -0
  30. package/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +29 -0
  31. package/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +25 -0
  32. package/api/interfaces/data_access/ua_multistate_discrete_ex.ts +57 -0
  33. package/api/interfaces/data_access/ua_multistate_value_discrete_ex.ts +31 -0
  34. package/api/interfaces/data_access/ua_two_state_discrete_ex.ts +15 -0
  35. package/api/interfaces/nodeset_loader_options.ts +58 -0
  36. package/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +20 -0
  37. package/api/interfaces/state_machine/ua_finite_state_machine_type.ts +50 -0
  38. package/api/interfaces/state_machine/ua_program_state_machine_type.ts +14 -0
  39. package/api/interfaces/state_machine/ua_shelved_state_machine_ex.ts +35 -0
  40. package/api/interfaces/state_machine/ua_state_machine_type.ts +288 -0
  41. package/api/loader/decode_xml_extension_object.ts +80 -0
  42. package/api/loader/ensure_datatype_extracted.ts +122 -0
  43. package/api/loader/generateAddressSpaceRaw.ts +470 -0
  44. package/api/loader/load_nodeset2.ts +278 -0
  45. package/api/loader/make_xml_extension_object_parser.ts +518 -0
  46. package/api/loader/namespace_post_step.ts +68 -0
  47. package/api/loader/nodeset_image.ts +451 -0
  48. package/api/loader/nodeset_image_codec.ts +576 -0
  49. package/api/loader/nodeset_image_store.ts +78 -0
  50. package/api/loader/nodeset_record.ts +141 -0
  51. package/api/loader/nodeset_record_applier.ts +889 -0
  52. package/api/loader/nodeset_source.ts +367 -0
  53. package/api/loader/nodeset_source_helpers.ts +50 -0
  54. package/api/loader/nodeset_to_image.ts +29 -0
  55. package/api/loader/nodeset_xml_producer.ts +383 -0
  56. package/api/loader/parsers/extension_object_parser.ts +374 -0
  57. package/api/loader/parsers/variant_parser.ts +363 -0
  58. package/api/loader/register_node_promoter.ts +6 -0
  59. package/api/namespace.ts +25 -0
  60. package/api/namespace_alarm_and_condition.ts +78 -0
  61. package/api/namespace_data_access.ts +92 -0
  62. package/api/namespace_machine_state.ts +20 -0
  63. package/api/pseudo_session.ts +415 -0
  64. package/api/session_context.ts +729 -0
  65. package/api/ua_interface.ts +38 -0
  66. package/api/ua_two_state_variable_ex.ts +36 -0
  67. package/bin/opcua-nodeset-image.js +192 -0
  68. package/dist/api/address_space_public.d.ts +57 -0
  69. package/dist/api/address_space_public.js +19 -0
  70. package/dist/api/address_space_public.js.map +1 -0
  71. package/dist/api/address_space_ts.d.ts +79 -0
  72. package/dist/api/address_space_ts.js +13 -0
  73. package/dist/api/address_space_ts.js.map +1 -0
  74. package/dist/api/continuation_points/continuation_point_manager.js +230 -0
  75. package/dist/api/continuation_points/continuation_point_manager.js.map +1 -0
  76. package/dist/api/helpers/adjust_browse_direction.js.map +1 -0
  77. package/dist/api/helpers/argument_list.js +263 -0
  78. package/dist/api/helpers/argument_list.js.map +1 -0
  79. package/dist/api/helpers/call_helpers.js +80 -0
  80. package/dist/api/helpers/call_helpers.js.map +1 -0
  81. package/dist/api/helpers/coerce_enum_value.d.ts +6 -0
  82. package/dist/api/helpers/coerce_enum_value.js.map +1 -0
  83. package/dist/api/helpers/dump_tools.js +81 -0
  84. package/dist/api/helpers/dump_tools.js.map +1 -0
  85. package/dist/api/helpers/ensure_secure_access.d.ts +19 -0
  86. package/dist/api/helpers/ensure_secure_access.js +67 -0
  87. package/dist/api/helpers/ensure_secure_access.js.map +1 -0
  88. package/dist/api/helpers/make_optionals_map.js.map +1 -0
  89. package/dist/api/helpers/multiform_func.js +75 -0
  90. package/dist/api/helpers/multiform_func.js.map +1 -0
  91. package/dist/api/helpers/resolve_opaque_on_address_space.js +25 -0
  92. package/dist/api/helpers/resolve_opaque_on_address_space.js.map +1 -0
  93. package/dist/api/index.d.ts +113 -0
  94. package/dist/api/index.js +234 -0
  95. package/dist/api/index.js.map +1 -0
  96. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.d.ts +54 -0
  97. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.js +28 -0
  98. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -0
  99. package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.d.ts +151 -0
  100. package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.js.map +1 -0
  101. package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -0
  102. package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.js.map +1 -0
  103. package/dist/api/interfaces/alarms_and_conditions/install_setpoint_options.js.map +1 -0
  104. package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -0
  105. package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +1 -0
  106. package/dist/api/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +1 -0
  107. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -0
  108. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +1 -0
  109. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -0
  110. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +1 -0
  111. package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +10 -0
  112. package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +1 -0
  113. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -0
  114. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +1 -0
  115. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -0
  116. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +1 -0
  117. package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -0
  118. package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +1 -0
  119. package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +21 -0
  120. package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +1 -0
  121. package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +56 -0
  122. package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +1 -0
  123. package/dist/api/interfaces/alarms_and_conditions/ua_base_event_ex.js.map +1 -0
  124. package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -0
  125. package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +1 -0
  126. package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +44 -0
  127. package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.js.map +1 -0
  128. package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +4 -0
  129. package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +1 -0
  130. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -0
  131. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +1 -0
  132. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +19 -0
  133. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +1 -0
  134. package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +25 -0
  135. package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +1 -0
  136. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -0
  137. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +1 -0
  138. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -0
  139. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +1 -0
  140. package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.d.ts +44 -0
  141. package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.js.map +1 -0
  142. package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +22 -0
  143. package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +1 -0
  144. package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.d.ts +13 -0
  145. package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.js.map +1 -0
  146. package/dist/api/interfaces/data_access/ua_y_array_item_ex.js.map +1 -0
  147. package/dist/api/interfaces/extension_object_constructor.js.map +1 -0
  148. package/dist/api/interfaces/i_condition_variable_type_setter_options.js.map +1 -0
  149. package/dist/api/interfaces/i_set_state_options.js.map +1 -0
  150. package/dist/api/interfaces/nodeset_loader_options.d.ts +56 -0
  151. package/dist/api/interfaces/nodeset_loader_options.js.map +1 -0
  152. package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -0
  153. package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +1 -0
  154. package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -0
  155. package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.js.map +1 -0
  156. package/dist/api/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -0
  157. package/dist/api/interfaces/state_machine/ua_program_state_machine_type.js.map +1 -0
  158. package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +29 -0
  159. package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +1 -0
  160. package/dist/api/interfaces/state_machine/ua_state_machine_type.d.ts +236 -0
  161. package/dist/api/interfaces/state_machine/ua_state_machine_type.js.map +1 -0
  162. package/dist/api/interfaces/state_machine/ua_transition_ex.js.map +1 -0
  163. package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -0
  164. package/dist/api/loader/decode_xml_extension_object.d.ts +6 -0
  165. package/dist/api/loader/decode_xml_extension_object.js +69 -0
  166. package/dist/api/loader/decode_xml_extension_object.js.map +1 -0
  167. package/dist/api/loader/ensure_datatype_extracted.js +88 -0
  168. package/dist/api/loader/ensure_datatype_extracted.js.map +1 -0
  169. package/dist/api/loader/generateAddressSpaceRaw.d.ts +64 -0
  170. package/dist/api/loader/generateAddressSpaceRaw.js +379 -0
  171. package/dist/api/loader/generateAddressSpaceRaw.js.map +1 -0
  172. package/dist/api/loader/load_nodeset2.d.ts +38 -0
  173. package/dist/api/loader/load_nodeset2.js +245 -0
  174. package/dist/api/loader/load_nodeset2.js.map +1 -0
  175. package/dist/api/loader/make_semver_compatible.js.map +1 -0
  176. package/dist/api/loader/make_xml_extension_object_parser.js +417 -0
  177. package/dist/api/loader/make_xml_extension_object_parser.js.map +1 -0
  178. package/dist/api/loader/namespace_post_step.js +57 -0
  179. package/dist/api/loader/namespace_post_step.js.map +1 -0
  180. package/dist/api/loader/nodeset_image.d.ts +94 -0
  181. package/dist/api/loader/nodeset_image.js +406 -0
  182. package/dist/api/loader/nodeset_image.js.map +1 -0
  183. package/dist/api/loader/nodeset_image_codec.d.ts +104 -0
  184. package/dist/api/loader/nodeset_image_codec.js +489 -0
  185. package/dist/api/loader/nodeset_image_codec.js.map +1 -0
  186. package/dist/api/loader/nodeset_image_store.d.ts +27 -0
  187. package/dist/api/loader/nodeset_image_store.js +72 -0
  188. package/dist/api/loader/nodeset_image_store.js.map +1 -0
  189. package/dist/api/loader/nodeset_record.d.ts +125 -0
  190. package/dist/api/loader/nodeset_record.js +26 -0
  191. package/dist/api/loader/nodeset_record.js.map +1 -0
  192. package/dist/api/loader/nodeset_record_applier.d.ts +106 -0
  193. package/dist/api/loader/nodeset_record_applier.js +731 -0
  194. package/dist/api/loader/nodeset_record_applier.js.map +1 -0
  195. package/dist/api/loader/nodeset_source.d.ts +124 -0
  196. package/dist/api/loader/nodeset_source.js +307 -0
  197. package/dist/api/loader/nodeset_source.js.map +1 -0
  198. package/dist/api/loader/nodeset_source_helpers.d.ts +27 -0
  199. package/dist/api/loader/nodeset_source_helpers.js +30 -0
  200. package/dist/api/loader/nodeset_source_helpers.js.map +1 -0
  201. package/dist/api/loader/nodeset_to_image.d.ts +13 -0
  202. package/dist/api/loader/nodeset_to_image.js +30 -0
  203. package/dist/api/loader/nodeset_to_image.js.map +1 -0
  204. package/dist/api/loader/nodeset_xml_producer.d.ts +16 -0
  205. package/dist/api/loader/nodeset_xml_producer.js +349 -0
  206. package/dist/api/loader/nodeset_xml_producer.js.map +1 -0
  207. package/dist/api/loader/parsers/extension_object_parser.js +274 -0
  208. package/dist/api/loader/parsers/extension_object_parser.js.map +1 -0
  209. package/dist/api/loader/parsers/localized_text_parser.js.map +1 -0
  210. package/dist/api/loader/parsers/nodeid_parser.js.map +1 -0
  211. package/dist/api/loader/parsers/qualified_name_parser.js.map +1 -0
  212. package/dist/api/loader/parsers/variant_parser.d.ts +42 -0
  213. package/dist/api/loader/parsers/variant_parser.js +294 -0
  214. package/dist/api/loader/parsers/variant_parser.js.map +1 -0
  215. package/dist/api/loader/register_node_promoter.d.ts +2 -0
  216. package/dist/api/loader/register_node_promoter.js +9 -0
  217. package/dist/api/loader/register_node_promoter.js.map +1 -0
  218. package/dist/api/namespace.d.ts +18 -0
  219. package/dist/api/namespace.js.map +1 -0
  220. package/dist/api/namespace_alarm_and_condition.d.ts +33 -0
  221. package/dist/api/namespace_alarm_and_condition.js.map +1 -0
  222. package/dist/api/namespace_data_access.d.ts +67 -0
  223. package/dist/api/namespace_data_access.js.map +1 -0
  224. package/dist/api/namespace_machine_state.d.ts +8 -0
  225. package/dist/api/namespace_machine_state.js.map +1 -0
  226. package/dist/api/pseudo_session.d.ts +74 -0
  227. package/dist/api/pseudo_session.js +308 -0
  228. package/dist/api/pseudo_session.js.map +1 -0
  229. package/dist/api/session_context.d.ts +242 -0
  230. package/dist/api/session_context.js.map +1 -0
  231. package/dist/api/set_namespace_meta_data.js.map +1 -0
  232. package/dist/api/ua_addin.js.map +1 -0
  233. package/dist/api/ua_interface.js +25 -0
  234. package/dist/api/ua_interface.js.map +1 -0
  235. package/dist/api/ua_root_folder.js.map +1 -0
  236. package/dist/api/ua_two_state_variable_ex.d.ts +24 -0
  237. package/dist/api/ua_two_state_variable_ex.js.map +1 -0
  238. package/dist/api/xml_writer.js.map +1 -0
  239. package/dist/impl/_instantiate_helpers.js +99 -0
  240. package/dist/impl/_instantiate_helpers.js.map +1 -0
  241. package/dist/impl/_mandatory_child_or_requested_optional_filter.js +82 -0
  242. package/dist/impl/_mandatory_child_or_requested_optional_filter.js.map +1 -0
  243. package/dist/impl/address_space.d.ts +379 -0
  244. package/dist/impl/address_space.js +1383 -0
  245. package/dist/impl/address_space.js.map +1 -0
  246. package/dist/impl/address_space_change_event_tools.d.ts +6 -0
  247. package/dist/impl/address_space_change_event_tools.js.map +1 -0
  248. package/dist/impl/address_space_private.d.ts +48 -0
  249. package/dist/impl/address_space_private.js.map +1 -0
  250. package/dist/impl/alarms_and_conditions/condition.js.map +1 -0
  251. package/dist/impl/alarms_and_conditions/condition_info_impl.d.ts +19 -0
  252. package/dist/impl/alarms_and_conditions/condition_info_impl.js +39 -0
  253. package/dist/impl/alarms_and_conditions/condition_info_impl.js.map +1 -0
  254. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.d.ts +271 -0
  255. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js +700 -0
  256. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js.map +1 -0
  257. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.d.ts +12 -0
  258. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js +66 -0
  259. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js.map +1 -0
  260. package/dist/impl/alarms_and_conditions/index.d.ts +16 -0
  261. package/dist/impl/alarms_and_conditions/index.js +33 -0
  262. package/dist/impl/alarms_and_conditions/index.js.map +1 -0
  263. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +54 -0
  264. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -0
  265. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -0
  266. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.d.ts +105 -0
  267. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js +428 -0
  268. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -0
  269. package/dist/impl/alarms_and_conditions/ua_base_event_impl.d.ts +36 -0
  270. package/dist/impl/alarms_and_conditions/ua_base_event_impl.js +32 -0
  271. package/dist/impl/alarms_and_conditions/ua_base_event_impl.js.map +1 -0
  272. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +47 -0
  273. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +204 -0
  274. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -0
  275. package/dist/impl/alarms_and_conditions/ua_condition_impl.d.ts +152 -0
  276. package/dist/impl/alarms_and_conditions/ua_condition_impl.js +1016 -0
  277. package/dist/impl/alarms_and_conditions/ua_condition_impl.js.map +1 -0
  278. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +22 -0
  279. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js +41 -0
  280. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -0
  281. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +30 -0
  282. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +54 -0
  283. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -0
  284. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +12 -0
  285. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +13 -0
  286. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -0
  287. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +28 -0
  288. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -0
  289. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -0
  290. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -0
  291. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +8 -0
  292. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -0
  293. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.d.ts +49 -0
  294. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js +207 -0
  295. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -0
  296. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -0
  297. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +54 -0
  298. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -0
  299. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +38 -0
  300. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +172 -0
  301. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -0
  302. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +44 -0
  303. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js +164 -0
  304. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -0
  305. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -0
  306. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +18 -0
  307. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -0
  308. package/dist/impl/apply_condition_refresh.d.ts +4 -0
  309. package/dist/impl/apply_condition_refresh.js +29 -0
  310. package/dist/impl/apply_condition_refresh.js.map +1 -0
  311. package/dist/impl/base_node_impl.d.ts +347 -0
  312. package/dist/impl/base_node_impl.js +1768 -0
  313. package/dist/impl/base_node_impl.js.map +1 -0
  314. package/dist/impl/base_node_private.d.ts +138 -0
  315. package/dist/impl/base_node_private.js +1028 -0
  316. package/dist/impl/base_node_private.js.map +1 -0
  317. package/dist/impl/check_value_rank_compatibility.js.map +1 -0
  318. package/dist/impl/child_accessors.d.ts +43 -0
  319. package/dist/impl/child_accessors.js +222 -0
  320. package/dist/impl/child_accessors.js.map +1 -0
  321. package/dist/impl/data_access/add_dataItem_stuff.js.map +1 -0
  322. package/dist/impl/data_access/adjust_datavalue_status_code.d.ts +7 -0
  323. package/dist/impl/data_access/adjust_datavalue_status_code.js.map +1 -0
  324. package/dist/impl/data_access/ua_multistate_discrete_impl.d.ts +38 -0
  325. package/dist/impl/data_access/ua_multistate_discrete_impl.js +143 -0
  326. package/dist/impl/data_access/ua_multistate_discrete_impl.js.map +1 -0
  327. package/dist/impl/data_access/ua_multistate_value_discrete_impl.d.ts +61 -0
  328. package/dist/impl/data_access/ua_multistate_value_discrete_impl.js +303 -0
  329. package/dist/impl/data_access/ua_multistate_value_discrete_impl.js.map +1 -0
  330. package/dist/impl/data_access/ua_two_state_discrete_impl.d.ts +30 -0
  331. package/dist/impl/data_access/ua_two_state_discrete_impl.js +164 -0
  332. package/dist/impl/data_access/ua_two_state_discrete_impl.js.map +1 -0
  333. package/dist/impl/event_data.d.ts +27 -0
  334. package/dist/impl/event_data.js +73 -0
  335. package/dist/impl/event_data.js.map +1 -0
  336. package/dist/impl/event_layout.d.ts +40 -0
  337. package/dist/impl/event_layout.js +103 -0
  338. package/dist/impl/event_layout.js.map +1 -0
  339. package/dist/impl/extension_object_array_node.d.ts +41 -0
  340. package/dist/impl/extension_object_array_node.js +274 -0
  341. package/dist/impl/extension_object_array_node.js.map +1 -0
  342. package/dist/impl/get_basic_datatype.js.map +1 -0
  343. package/dist/impl/handle_hierarchy_parent.d.ts +33 -0
  344. package/dist/impl/handle_hierarchy_parent.js +103 -0
  345. package/dist/impl/handle_hierarchy_parent.js.map +1 -0
  346. package/dist/impl/historical_access/address_space_historical_data_node.d.ts +21 -0
  347. package/dist/impl/historical_access/address_space_historical_data_node.js +658 -0
  348. package/dist/impl/historical_access/address_space_historical_data_node.js.map +1 -0
  349. package/dist/impl/historizer_factory.d.ts +18 -0
  350. package/dist/impl/historizer_factory.js +16 -0
  351. package/dist/impl/historizer_factory.js.map +1 -0
  352. package/dist/impl/idx_iterator.js.map +1 -0
  353. package/dist/impl/namespace_impl.d.ts +469 -0
  354. package/dist/impl/namespace_impl.js +1845 -0
  355. package/dist/impl/namespace_impl.js.map +1 -0
  356. package/dist/impl/namespace_private.d.ts +25 -0
  357. package/dist/impl/namespace_private.js.map +1 -0
  358. package/dist/impl/nodeid_manager.js +249 -0
  359. package/dist/impl/nodeid_manager.js.map +1 -0
  360. package/dist/impl/nodeset_tools/adjust_namespace_array.js.map +1 -0
  361. package/dist/impl/nodeset_tools/construct_namespace_dependency.d.ts +37 -0
  362. package/dist/impl/nodeset_tools/construct_namespace_dependency.js +352 -0
  363. package/dist/impl/nodeset_tools/construct_namespace_dependency.js.map +1 -0
  364. package/dist/impl/nodeset_tools/dump_to_bsd.d.ts +10 -0
  365. package/dist/impl/nodeset_tools/dump_to_bsd.js +176 -0
  366. package/dist/impl/nodeset_tools/dump_to_bsd.js.map +1 -0
  367. package/dist/impl/nodeset_tools/nodeset_to_records.d.ts +67 -0
  368. package/dist/impl/nodeset_tools/nodeset_to_records.js +773 -0
  369. package/dist/impl/nodeset_tools/nodeset_to_records.js.map +1 -0
  370. package/dist/impl/nodeset_tools/nodeset_to_xml.d.ts +28 -0
  371. package/dist/impl/nodeset_tools/nodeset_to_xml.js +1132 -0
  372. package/dist/impl/nodeset_tools/nodeset_to_xml.js.map +1 -0
  373. package/dist/impl/private_namespace.d.ts +5 -0
  374. package/dist/impl/private_namespace.js.map +1 -0
  375. package/dist/impl/reference_impl.d.ts +82 -0
  376. package/dist/impl/reference_impl.js +207 -0
  377. package/dist/impl/reference_impl.js.map +1 -0
  378. package/dist/impl/reference_type_version.d.ts +22 -0
  379. package/dist/impl/reference_type_version.js +22 -0
  380. package/dist/impl/reference_type_version.js.map +1 -0
  381. package/dist/impl/role_permissions.js.map +1 -0
  382. package/dist/impl/state_machine/finite_state_machine.d.ts +81 -0
  383. package/dist/impl/state_machine/finite_state_machine.js +573 -0
  384. package/dist/impl/state_machine/finite_state_machine.js.map +1 -0
  385. package/dist/impl/state_machine/ua_shelving_state_machine_ex.d.ts +64 -0
  386. package/dist/impl/state_machine/ua_shelving_state_machine_ex.js +249 -0
  387. package/dist/impl/state_machine/ua_shelving_state_machine_ex.js.map +1 -0
  388. package/dist/impl/state_machine/ua_two_state_variable.d.ts +55 -0
  389. package/dist/impl/state_machine/ua_two_state_variable.js +323 -0
  390. package/dist/impl/state_machine/ua_two_state_variable.js.map +1 -0
  391. package/dist/impl/tool_isSubtypeOf.d.ts +18 -0
  392. package/dist/impl/tool_isSubtypeOf.js +138 -0
  393. package/dist/impl/tool_isSubtypeOf.js.map +1 -0
  394. package/dist/impl/ua_condition_type.js.map +1 -0
  395. package/dist/impl/ua_data_type_impl.d.ts +87 -0
  396. package/dist/impl/ua_data_type_impl.js +391 -0
  397. package/dist/impl/ua_data_type_impl.js.map +1 -0
  398. package/dist/impl/ua_method_impl.d.ts +48 -0
  399. package/dist/impl/ua_method_impl.js +281 -0
  400. package/dist/impl/ua_method_impl.js.map +1 -0
  401. package/dist/impl/ua_object_impl.d.ts +38 -0
  402. package/dist/impl/ua_object_impl.js +214 -0
  403. package/dist/impl/ua_object_impl.js.map +1 -0
  404. package/dist/impl/ua_object_type_impl.d.ts +55 -0
  405. package/dist/impl/ua_object_type_impl.js +131 -0
  406. package/dist/impl/ua_object_type_impl.js.map +1 -0
  407. package/dist/impl/ua_reference_type_impl.d.ts +42 -0
  408. package/dist/impl/ua_reference_type_impl.js +157 -0
  409. package/dist/impl/ua_reference_type_impl.js.map +1 -0
  410. package/dist/impl/ua_variable_impl.d.ts +391 -0
  411. package/dist/impl/ua_variable_impl.js +2001 -0
  412. package/dist/impl/ua_variable_impl.js.map +1 -0
  413. package/dist/impl/ua_variable_impl_ext_obj.d.ts +23 -0
  414. package/dist/impl/ua_variable_impl_ext_obj.js +753 -0
  415. package/dist/impl/ua_variable_impl_ext_obj.js.map +1 -0
  416. package/dist/impl/ua_variable_type_impl.d.ts +79 -0
  417. package/dist/impl/ua_variable_type_impl.js +279 -0
  418. package/dist/impl/ua_variable_type_impl.js.map +1 -0
  419. package/dist/impl/ua_view_impl.d.ts +18 -0
  420. package/dist/impl/ua_view_impl.js +45 -0
  421. package/dist/impl/ua_view_impl.js.map +1 -0
  422. package/dist/impl/validate_data_type_correctness.d.ts +6 -0
  423. package/dist/impl/validate_data_type_correctness.js +123 -0
  424. package/dist/impl/validate_data_type_correctness.js.map +1 -0
  425. package/dist/tsconfig_base.tsbuildinfo +1 -1
  426. package/distHelpers/address_space_digest.d.ts +4 -0
  427. package/distHelpers/address_space_digest.js +9 -0
  428. package/distHelpers/address_space_digest.js.map +1 -0
  429. package/distHelpers/alarms_and_conditions_demo.d.ts +1 -1
  430. package/distHelpers/assertHasMatchingReference.d.ts +1 -1
  431. package/distHelpers/boiler_system.d.ts +1 -1
  432. package/distHelpers/boiler_system.js +3 -3
  433. package/distHelpers/boiler_system.js.map +1 -1
  434. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +1 -1
  435. package/distHelpers/get_address_space_fixture.js +38 -22
  436. package/distHelpers/get_address_space_fixture.js.map +1 -1
  437. package/distHelpers/get_mini_address_space.d.ts +1 -1
  438. package/distHelpers/get_mini_address_space.js +7 -7
  439. package/distHelpers/get_mini_address_space.js.map +1 -1
  440. package/distHelpers/index.d.ts +9 -9
  441. package/distHelpers/index.js +9 -9
  442. package/distHelpers/index.js.map +1 -1
  443. package/distHelpers/mock_session.d.ts +1 -1
  444. package/distHelpers/mock_session.js +2 -2
  445. package/distHelpers/mock_session.js.map +1 -1
  446. package/distNodeJS/address_space_digest.d.ts +13 -0
  447. package/distNodeJS/address_space_digest.js +31 -0
  448. package/distNodeJS/address_space_digest.js.map +1 -0
  449. package/distNodeJS/generate_address_space.d.ts +35 -2
  450. package/distNodeJS/generate_address_space.js +201 -7
  451. package/distNodeJS/generate_address_space.js.map +1 -1
  452. package/distNodeJS/index.d.ts +3 -1
  453. package/distNodeJS/index.js +3 -1
  454. package/distNodeJS/index.js.map +1 -1
  455. package/distNodeJS/nodeset_image_file_store.d.ts +29 -0
  456. package/distNodeJS/nodeset_image_file_store.js +120 -0
  457. package/distNodeJS/nodeset_image_file_store.js.map +1 -0
  458. package/impl/_instantiate_helpers.ts +197 -0
  459. package/impl/_mandatory_child_or_requested_optional_filter.ts +100 -0
  460. package/impl/address_space.ts +1572 -0
  461. package/impl/address_space_change_event_tools.ts +177 -0
  462. package/impl/address_space_private.ts +100 -0
  463. package/impl/alarms_and_conditions/condition_info_impl.ts +45 -0
  464. package/impl/alarms_and_conditions/condition_snapshot_impl.ts +793 -0
  465. package/impl/alarms_and_conditions/deviation_alarm_helper.ts +73 -0
  466. package/impl/alarms_and_conditions/index.ts +16 -0
  467. package/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +351 -0
  468. package/impl/alarms_and_conditions/ua_alarm_condition_impl.ts +515 -0
  469. package/impl/alarms_and_conditions/ua_base_event_impl.ts +61 -0
  470. package/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +246 -0
  471. package/impl/alarms_and_conditions/ua_condition_impl.ts +1286 -0
  472. package/impl/alarms_and_conditions/ua_discrete_alarm_impl.ts +60 -0
  473. package/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +95 -0
  474. package/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +21 -0
  475. package/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +112 -0
  476. package/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +25 -0
  477. package/impl/alarms_and_conditions/ua_limit_alarm_impl.ts +265 -0
  478. package/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +94 -0
  479. package/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +232 -0
  480. package/impl/alarms_and_conditions/ua_off_normal_alarm_impl.ts +216 -0
  481. package/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +26 -0
  482. package/impl/apply_condition_refresh.ts +56 -0
  483. package/impl/base_node_impl.ts +2165 -0
  484. package/impl/base_node_private.ts +1420 -0
  485. package/impl/child_accessors.ts +239 -0
  486. package/impl/data_access/adjust_datavalue_status_code.ts +36 -0
  487. package/impl/data_access/ua_multistate_discrete_impl.ts +198 -0
  488. package/impl/data_access/ua_multistate_value_discrete_impl.ts +384 -0
  489. package/impl/data_access/ua_two_state_discrete_impl.ts +195 -0
  490. package/impl/event_data.ts +80 -0
  491. package/impl/event_layout.ts +141 -0
  492. package/impl/extension_object_array_node.ts +343 -0
  493. package/impl/handle_hierarchy_parent.ts +133 -0
  494. package/impl/historical_access/address_space_historical_data_node.ts +849 -0
  495. package/impl/historizer_factory.ts +17 -0
  496. package/impl/namespace_impl.ts +2323 -0
  497. package/impl/namespace_private.ts +68 -0
  498. package/impl/nodeid_manager.ts +293 -0
  499. package/impl/nodeset_tools/construct_namespace_dependency.ts +381 -0
  500. package/impl/nodeset_tools/dump_to_bsd.ts +210 -0
  501. package/impl/nodeset_tools/nodeset_to_records.ts +846 -0
  502. package/impl/nodeset_tools/nodeset_to_xml.ts +1326 -0
  503. package/impl/private_namespace.ts +21 -0
  504. package/impl/reference_impl.ts +244 -0
  505. package/impl/reference_type_version.ts +19 -0
  506. package/impl/state_machine/finite_state_machine.ts +676 -0
  507. package/impl/state_machine/ua_shelving_state_machine_ex.ts +356 -0
  508. package/impl/state_machine/ua_two_state_variable.ts +421 -0
  509. package/impl/tool_isSubtypeOf.ts +168 -0
  510. package/impl/ua_data_type_impl.ts +486 -0
  511. package/impl/ua_method_impl.ts +364 -0
  512. package/impl/ua_object_impl.ts +278 -0
  513. package/impl/ua_object_type_impl.ts +179 -0
  514. package/impl/ua_reference_type_impl.ts +179 -0
  515. package/impl/ua_variable_impl.ts +2559 -0
  516. package/impl/ua_variable_impl_ext_obj.ts +904 -0
  517. package/impl/ua_variable_type_impl.ts +390 -0
  518. package/impl/ua_view_impl.ts +53 -0
  519. package/impl/validate_data_type_correctness.ts +142 -0
  520. package/package.json +49 -44
  521. package/source_nodejs/address_space_digest.ts +35 -0
  522. package/source_nodejs/generate_address_space.ts +181 -8
  523. package/source_nodejs/index.ts +3 -1
  524. package/source_nodejs/nodeset_image_file_store.ts +127 -0
  525. package/dist/source/address_space_ts.d.ts +0 -128
  526. package/dist/source/address_space_ts.js +0 -23
  527. package/dist/source/address_space_ts.js.map +0 -1
  528. package/dist/source/continuation_points/continuation_point_manager.js +0 -230
  529. package/dist/source/continuation_points/continuation_point_manager.js.map +0 -1
  530. package/dist/source/helpers/adjust_browse_direction.js.map +0 -1
  531. package/dist/source/helpers/argument_list.js +0 -263
  532. package/dist/source/helpers/argument_list.js.map +0 -1
  533. package/dist/source/helpers/call_helpers.js +0 -80
  534. package/dist/source/helpers/call_helpers.js.map +0 -1
  535. package/dist/source/helpers/coerce_enum_value.d.ts +0 -6
  536. package/dist/source/helpers/coerce_enum_value.js.map +0 -1
  537. package/dist/source/helpers/dump_tools.js +0 -81
  538. package/dist/source/helpers/dump_tools.js.map +0 -1
  539. package/dist/source/helpers/ensure_secure_access.d.ts +0 -9
  540. package/dist/source/helpers/ensure_secure_access.js +0 -58
  541. package/dist/source/helpers/ensure_secure_access.js.map +0 -1
  542. package/dist/source/helpers/make_optionals_map.js.map +0 -1
  543. package/dist/source/helpers/multiform_func.js +0 -75
  544. package/dist/source/helpers/multiform_func.js.map +0 -1
  545. package/dist/source/helpers/resolve_opaque_on_address_space.js +0 -25
  546. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +0 -1
  547. package/dist/source/index.d.ts +0 -66
  548. package/dist/source/index.js +0 -97
  549. package/dist/source/index.js.map +0 -1
  550. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +0 -21
  551. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +0 -3
  552. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +0 -1
  553. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +0 -150
  554. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +0 -1
  555. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +0 -12
  556. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js.map +0 -1
  557. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js.map +0 -1
  558. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +0 -7
  559. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +0 -1
  560. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +0 -1
  561. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +0 -4
  562. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +0 -1
  563. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +0 -4
  564. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +0 -1
  565. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +0 -10
  566. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +0 -1
  567. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +0 -4
  568. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +0 -1
  569. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +0 -4
  570. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +0 -1
  571. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +0 -20
  572. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +0 -1
  573. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +0 -21
  574. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +0 -1
  575. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +0 -33
  576. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +0 -1
  577. package/dist/source/interfaces/alarms_and_conditions/ua_base_event_ex.js.map +0 -1
  578. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +0 -19
  579. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +0 -1
  580. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +0 -44
  581. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js.map +0 -1
  582. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +0 -4
  583. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +0 -1
  584. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +0 -5
  585. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +0 -1
  586. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +0 -19
  587. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +0 -1
  588. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +0 -25
  589. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +0 -1
  590. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +0 -8
  591. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +0 -1
  592. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +0 -10
  593. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +0 -1
  594. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +0 -44
  595. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +0 -1
  596. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +0 -22
  597. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +0 -1
  598. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +0 -13
  599. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +0 -1
  600. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +0 -1
  601. package/dist/source/interfaces/extension_object_constructor.js.map +0 -1
  602. package/dist/source/interfaces/i_condition_variable_type_setter_options.js.map +0 -1
  603. package/dist/source/interfaces/i_set_state_options.js.map +0 -1
  604. package/dist/source/interfaces/nodeset_loader_options.d.ts +0 -37
  605. package/dist/source/interfaces/nodeset_loader_options.js.map +0 -1
  606. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +0 -12
  607. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +0 -1
  608. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +0 -49
  609. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +0 -1
  610. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +0 -11
  611. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +0 -1
  612. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +0 -29
  613. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +0 -1
  614. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +0 -236
  615. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +0 -1
  616. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +0 -1
  617. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +0 -1
  618. package/dist/source/loader/decode_xml_extension_object.d.ts +0 -6
  619. package/dist/source/loader/decode_xml_extension_object.js +0 -69
  620. package/dist/source/loader/decode_xml_extension_object.js.map +0 -1
  621. package/dist/source/loader/ensure_datatype_extracted.js +0 -88
  622. package/dist/source/loader/ensure_datatype_extracted.js.map +0 -1
  623. package/dist/source/loader/generateAddressSpaceRaw.d.ts +0 -29
  624. package/dist/source/loader/generateAddressSpaceRaw.js +0 -188
  625. package/dist/source/loader/generateAddressSpaceRaw.js.map +0 -1
  626. package/dist/source/loader/load_nodeset2.d.ts +0 -15
  627. package/dist/source/loader/load_nodeset2.js +0 -1047
  628. package/dist/source/loader/load_nodeset2.js.map +0 -1
  629. package/dist/source/loader/make_semver_compatible.js.map +0 -1
  630. package/dist/source/loader/make_xml_extension_object_parser.js +0 -422
  631. package/dist/source/loader/make_xml_extension_object_parser.js.map +0 -1
  632. package/dist/source/loader/namespace_post_step.js +0 -57
  633. package/dist/source/loader/namespace_post_step.js.map +0 -1
  634. package/dist/source/loader/parsers/extension_object_parser.js +0 -274
  635. package/dist/source/loader/parsers/extension_object_parser.js.map +0 -1
  636. package/dist/source/loader/parsers/localized_text_parser.js.map +0 -1
  637. package/dist/source/loader/parsers/nodeid_parser.js.map +0 -1
  638. package/dist/source/loader/parsers/qualified_name_parser.js.map +0 -1
  639. package/dist/source/loader/parsers/variant_parser.d.ts +0 -35
  640. package/dist/source/loader/parsers/variant_parser.js +0 -331
  641. package/dist/source/loader/parsers/variant_parser.js.map +0 -1
  642. package/dist/source/loader/register_node_promoter.d.ts +0 -2
  643. package/dist/source/loader/register_node_promoter.js +0 -9
  644. package/dist/source/loader/register_node_promoter.js.map +0 -1
  645. package/dist/source/namespace.d.ts +0 -6
  646. package/dist/source/namespace.js.map +0 -1
  647. package/dist/source/namespace_alarm_and_condition.d.ts +0 -33
  648. package/dist/source/namespace_alarm_and_condition.js.map +0 -1
  649. package/dist/source/namespace_data_access.d.ts +0 -67
  650. package/dist/source/namespace_data_access.js.map +0 -1
  651. package/dist/source/namespace_machine_state.d.ts +0 -8
  652. package/dist/source/namespace_machine_state.js.map +0 -1
  653. package/dist/source/pseudo_session.d.ts +0 -74
  654. package/dist/source/pseudo_session.js +0 -308
  655. package/dist/source/pseudo_session.js.map +0 -1
  656. package/dist/source/session_context.d.ts +0 -241
  657. package/dist/source/session_context.js.map +0 -1
  658. package/dist/source/set_namespace_meta_data.js.map +0 -1
  659. package/dist/source/ua_addin.js.map +0 -1
  660. package/dist/source/ua_interface.js +0 -25
  661. package/dist/source/ua_interface.js.map +0 -1
  662. package/dist/source/ua_root_folder.js.map +0 -1
  663. package/dist/source/ua_two_state_variable_ex.d.ts +0 -24
  664. package/dist/source/ua_two_state_variable_ex.js.map +0 -1
  665. package/dist/source/xml_writer.js.map +0 -1
  666. package/dist/src/_instantiate_helpers.js +0 -99
  667. package/dist/src/_instantiate_helpers.js.map +0 -1
  668. package/dist/src/_mandatory_child_or_requested_optional_filter.js +0 -82
  669. package/dist/src/_mandatory_child_or_requested_optional_filter.js.map +0 -1
  670. package/dist/src/address_space.d.ts +0 -369
  671. package/dist/src/address_space.js +0 -1416
  672. package/dist/src/address_space.js.map +0 -1
  673. package/dist/src/address_space_change_event_tools.d.ts +0 -6
  674. package/dist/src/address_space_change_event_tools.js.map +0 -1
  675. package/dist/src/address_space_private.d.ts +0 -45
  676. package/dist/src/address_space_private.js.map +0 -1
  677. package/dist/src/alarms_and_conditions/condition.js.map +0 -1
  678. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +0 -18
  679. package/dist/src/alarms_and_conditions/condition_info_impl.js +0 -38
  680. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +0 -1
  681. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +0 -269
  682. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +0 -699
  683. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +0 -1
  684. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +0 -12
  685. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +0 -66
  686. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +0 -1
  687. package/dist/src/alarms_and_conditions/index.d.ts +0 -16
  688. package/dist/src/alarms_and_conditions/index.js +0 -33
  689. package/dist/src/alarms_and_conditions/index.js.map +0 -1
  690. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +0 -42
  691. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +0 -243
  692. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +0 -1
  693. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +0 -80
  694. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +0 -415
  695. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +0 -1
  696. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +0 -18
  697. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +0 -33
  698. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +0 -1
  699. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +0 -44
  700. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +0 -203
  701. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +0 -1
  702. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +0 -104
  703. package/dist/src/alarms_and_conditions/ua_condition_impl.js +0 -1017
  704. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +0 -1
  705. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +0 -19
  706. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +0 -39
  707. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +0 -1
  708. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +0 -25
  709. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +0 -55
  710. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +0 -1
  711. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +0 -11
  712. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +0 -12
  713. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +0 -1
  714. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +0 -23
  715. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +0 -87
  716. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +0 -1
  717. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +0 -10
  718. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +0 -8
  719. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +0 -1
  720. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +0 -26
  721. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +0 -208
  722. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +0 -1
  723. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +0 -23
  724. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +0 -55
  725. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +0 -1
  726. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +0 -27
  727. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +0 -173
  728. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +0 -1
  729. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +0 -43
  730. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +0 -168
  731. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +0 -1
  732. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +0 -18
  733. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +0 -18
  734. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +0 -1
  735. package/dist/src/apply_condition_refresh.d.ts +0 -4
  736. package/dist/src/apply_condition_refresh.js +0 -27
  737. package/dist/src/apply_condition_refresh.js.map +0 -1
  738. package/dist/src/base_node_impl.d.ts +0 -287
  739. package/dist/src/base_node_impl.js +0 -1538
  740. package/dist/src/base_node_impl.js.map +0 -1
  741. package/dist/src/base_node_private.d.ts +0 -87
  742. package/dist/src/base_node_private.js +0 -925
  743. package/dist/src/base_node_private.js.map +0 -1
  744. package/dist/src/check_value_rank_compatibility.js.map +0 -1
  745. package/dist/src/data_access/add_dataItem_stuff.js.map +0 -1
  746. package/dist/src/data_access/adjust_datavalue_status_code.d.ts +0 -7
  747. package/dist/src/data_access/adjust_datavalue_status_code.js.map +0 -1
  748. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +0 -35
  749. package/dist/src/data_access/ua_multistate_discrete_impl.js +0 -142
  750. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +0 -1
  751. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +0 -51
  752. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +0 -302
  753. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +0 -1
  754. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +0 -20
  755. package/dist/src/data_access/ua_two_state_discrete_impl.js +0 -163
  756. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +0 -1
  757. package/dist/src/event_data.d.ts +0 -18
  758. package/dist/src/event_data.js +0 -70
  759. package/dist/src/event_data.js.map +0 -1
  760. package/dist/src/extension_object_array_node.d.ts +0 -34
  761. package/dist/src/extension_object_array_node.js +0 -262
  762. package/dist/src/extension_object_array_node.js.map +0 -1
  763. package/dist/src/get_basic_datatype.js.map +0 -1
  764. package/dist/src/historical_access/address_space_historical_data_node.d.ts +0 -21
  765. package/dist/src/historical_access/address_space_historical_data_node.js +0 -654
  766. package/dist/src/historical_access/address_space_historical_data_node.js.map +0 -1
  767. package/dist/src/idx_iterator.js.map +0 -1
  768. package/dist/src/index_current.d.ts +0 -50
  769. package/dist/src/index_current.js +0 -82
  770. package/dist/src/index_current.js.map +0 -1
  771. package/dist/src/namespace_impl.d.ts +0 -450
  772. package/dist/src/namespace_impl.js +0 -1876
  773. package/dist/src/namespace_impl.js.map +0 -1
  774. package/dist/src/namespace_private.d.ts +0 -31
  775. package/dist/src/namespace_private.js.map +0 -1
  776. package/dist/src/nodeid_manager.js +0 -249
  777. package/dist/src/nodeid_manager.js.map +0 -1
  778. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +0 -1
  779. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +0 -33
  780. package/dist/src/nodeset_tools/construct_namespace_dependency.js +0 -347
  781. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +0 -1
  782. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +0 -2
  783. package/dist/src/nodeset_tools/dump_to_bsd.js +0 -164
  784. package/dist/src/nodeset_tools/dump_to_bsd.js.map +0 -1
  785. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +0 -12
  786. package/dist/src/nodeset_tools/nodeset_to_xml.js +0 -1381
  787. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +0 -1
  788. package/dist/src/private_namespace.d.ts +0 -5
  789. package/dist/src/private_namespace.js.map +0 -1
  790. package/dist/src/reference_impl.d.ts +0 -43
  791. package/dist/src/reference_impl.js +0 -152
  792. package/dist/src/reference_impl.js.map +0 -1
  793. package/dist/src/role_permissions.js.map +0 -1
  794. package/dist/src/state_machine/finite_state_machine.d.ts +0 -70
  795. package/dist/src/state_machine/finite_state_machine.js +0 -574
  796. package/dist/src/state_machine/finite_state_machine.js.map +0 -1
  797. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +0 -39
  798. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +0 -249
  799. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +0 -1
  800. package/dist/src/state_machine/ua_two_state_variable.d.ts +0 -55
  801. package/dist/src/state_machine/ua_two_state_variable.js +0 -323
  802. package/dist/src/state_machine/ua_two_state_variable.js.map +0 -1
  803. package/dist/src/tool_isSubtypeOf.d.ts +0 -18
  804. package/dist/src/tool_isSubtypeOf.js +0 -130
  805. package/dist/src/tool_isSubtypeOf.js.map +0 -1
  806. package/dist/src/ua_condition_type.js.map +0 -1
  807. package/dist/src/ua_data_type_impl.d.ts +0 -87
  808. package/dist/src/ua_data_type_impl.js +0 -393
  809. package/dist/src/ua_data_type_impl.js.map +0 -1
  810. package/dist/src/ua_method_impl.d.ts +0 -48
  811. package/dist/src/ua_method_impl.js +0 -280
  812. package/dist/src/ua_method_impl.js.map +0 -1
  813. package/dist/src/ua_object_impl.d.ts +0 -38
  814. package/dist/src/ua_object_impl.js +0 -214
  815. package/dist/src/ua_object_impl.js.map +0 -1
  816. package/dist/src/ua_object_type_impl.d.ts +0 -55
  817. package/dist/src/ua_object_type_impl.js +0 -131
  818. package/dist/src/ua_object_type_impl.js.map +0 -1
  819. package/dist/src/ua_reference_type_impl.d.ts +0 -42
  820. package/dist/src/ua_reference_type_impl.js +0 -146
  821. package/dist/src/ua_reference_type_impl.js.map +0 -1
  822. package/dist/src/ua_variable_impl.d.ts +0 -379
  823. package/dist/src/ua_variable_impl.js +0 -1940
  824. package/dist/src/ua_variable_impl.js.map +0 -1
  825. package/dist/src/ua_variable_impl_ext_obj.d.ts +0 -23
  826. package/dist/src/ua_variable_impl_ext_obj.js +0 -752
  827. package/dist/src/ua_variable_impl_ext_obj.js.map +0 -1
  828. package/dist/src/ua_variable_type_impl.d.ts +0 -79
  829. package/dist/src/ua_variable_type_impl.js +0 -276
  830. package/dist/src/ua_variable_type_impl.js.map +0 -1
  831. package/dist/src/ua_view_impl.d.ts +0 -18
  832. package/dist/src/ua_view_impl.js +0 -45
  833. package/dist/src/ua_view_impl.js.map +0 -1
  834. package/dist/src/validate_data_type_correctness.d.ts +0 -6
  835. package/dist/src/validate_data_type_correctness.js +0 -106
  836. package/dist/src/validate_data_type_correctness.js.map +0 -1
  837. package/source/address_space_ts.ts +0 -220
  838. package/source/continuation_points/continuation_point_manager.ts +0 -271
  839. package/source/helpers/argument_list.ts +0 -310
  840. package/source/helpers/call_helpers.ts +0 -100
  841. package/source/helpers/coerce_enum_value.ts +0 -33
  842. package/source/helpers/dump_tools.ts +0 -90
  843. package/source/helpers/ensure_secure_access.ts +0 -57
  844. package/source/helpers/multiform_func.ts +0 -78
  845. package/source/helpers/resolve_opaque_on_address_space.ts +0 -26
  846. package/source/index.ts +0 -72
  847. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +0 -24
  848. package/source/interfaces/alarms_and_conditions/condition_snapshot.ts +0 -235
  849. package/source/interfaces/alarms_and_conditions/deviation_stuff.ts +0 -16
  850. package/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +0 -8
  851. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.ts +0 -6
  852. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +0 -6
  853. package/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +0 -13
  854. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.ts +0 -6
  855. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.ts +0 -6
  856. package/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +0 -21
  857. package/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +0 -28
  858. package/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +0 -43
  859. package/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +0 -36
  860. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +0 -55
  861. package/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +0 -17
  862. package/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +0 -21
  863. package/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +0 -21
  864. package/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +0 -26
  865. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +0 -29
  866. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +0 -25
  867. package/source/interfaces/data_access/ua_multistate_discrete_ex.ts +0 -57
  868. package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +0 -31
  869. package/source/interfaces/data_access/ua_two_state_discrete_ex.ts +0 -15
  870. package/source/interfaces/nodeset_loader_options.ts +0 -38
  871. package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +0 -20
  872. package/source/interfaces/state_machine/ua_finite_state_machine_type.ts +0 -50
  873. package/source/interfaces/state_machine/ua_program_state_machine_type.ts +0 -14
  874. package/source/interfaces/state_machine/ua_shelved_state_machine_ex.ts +0 -35
  875. package/source/interfaces/state_machine/ua_state_machine_type.ts +0 -288
  876. package/source/loader/decode_xml_extension_object.ts +0 -80
  877. package/source/loader/ensure_datatype_extracted.ts +0 -122
  878. package/source/loader/generateAddressSpaceRaw.ts +0 -219
  879. package/source/loader/load_nodeset2.ts +0 -1275
  880. package/source/loader/make_xml_extension_object_parser.ts +0 -524
  881. package/source/loader/namespace_post_step.ts +0 -68
  882. package/source/loader/parsers/extension_object_parser.ts +0 -374
  883. package/source/loader/parsers/variant_parser.ts +0 -433
  884. package/source/loader/register_node_promoter.ts +0 -6
  885. package/source/namespace.ts +0 -7
  886. package/source/namespace_alarm_and_condition.ts +0 -78
  887. package/source/namespace_data_access.ts +0 -92
  888. package/source/namespace_machine_state.ts +0 -20
  889. package/source/pseudo_session.ts +0 -415
  890. package/source/session_context.ts +0 -725
  891. package/source/ua_interface.ts +0 -38
  892. package/source/ua_two_state_variable_ex.ts +0 -36
  893. package/src/_instantiate_helpers.ts +0 -197
  894. package/src/_mandatory_child_or_requested_optional_filter.ts +0 -100
  895. package/src/address_space.ts +0 -1631
  896. package/src/address_space_change_event_tools.ts +0 -177
  897. package/src/address_space_private.ts +0 -96
  898. package/src/alarms_and_conditions/condition_info_impl.ts +0 -44
  899. package/src/alarms_and_conditions/condition_snapshot_impl.ts +0 -792
  900. package/src/alarms_and_conditions/deviation_alarm_helper.ts +0 -73
  901. package/src/alarms_and_conditions/index.ts +0 -16
  902. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +0 -331
  903. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +0 -479
  904. package/src/alarms_and_conditions/ua_base_event_impl.ts +0 -42
  905. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +0 -244
  906. package/src/alarms_and_conditions/ua_condition_impl.ts +0 -1261
  907. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +0 -57
  908. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +0 -94
  909. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +0 -20
  910. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +0 -109
  911. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +0 -25
  912. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +0 -244
  913. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +0 -88
  914. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +0 -223
  915. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +0 -218
  916. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +0 -26
  917. package/src/apply_condition_refresh.ts +0 -29
  918. package/src/base_node_impl.ts +0 -1907
  919. package/src/base_node_private.ts +0 -1287
  920. package/src/data_access/adjust_datavalue_status_code.ts +0 -36
  921. package/src/data_access/ua_multistate_discrete_impl.ts +0 -189
  922. package/src/data_access/ua_multistate_value_discrete_impl.ts +0 -369
  923. package/src/data_access/ua_two_state_discrete_impl.ts +0 -184
  924. package/src/event_data.ts +0 -83
  925. package/src/extension_object_array_node.ts +0 -331
  926. package/src/historical_access/address_space_historical_data_node.ts +0 -842
  927. package/src/index_current.ts +0 -51
  928. package/src/namespace_impl.ts +0 -2380
  929. package/src/namespace_private.ts +0 -77
  930. package/src/nodeid_manager.ts +0 -293
  931. package/src/nodeset_tools/construct_namespace_dependency.ts +0 -375
  932. package/src/nodeset_tools/dump_to_bsd.ts +0 -201
  933. package/src/nodeset_tools/nodeset_to_xml.ts +0 -1652
  934. package/src/private_namespace.ts +0 -21
  935. package/src/reference_impl.ts +0 -171
  936. package/src/state_machine/finite_state_machine.ts +0 -668
  937. package/src/state_machine/ua_shelving_state_machine_ex.ts +0 -330
  938. package/src/state_machine/ua_two_state_variable.ts +0 -421
  939. package/src/tool_isSubtypeOf.ts +0 -160
  940. package/src/ua_data_type_impl.ts +0 -483
  941. package/src/ua_method_impl.ts +0 -362
  942. package/src/ua_object_impl.ts +0 -278
  943. package/src/ua_object_type_impl.ts +0 -179
  944. package/src/ua_reference_type_impl.ts +0 -170
  945. package/src/ua_variable_impl.ts +0 -2489
  946. package/src/ua_variable_impl_ext_obj.ts +0 -903
  947. package/src/ua_variable_type_impl.ts +0 -385
  948. package/src/ua_view_impl.ts +0 -53
  949. package/src/validate_data_type_correctness.ts +0 -124
  950. /package/{source → api}/helpers/adjust_browse_direction.ts +0 -0
  951. /package/{source → api}/helpers/make_optionals_map.ts +0 -0
  952. /package/{source → api}/interfaces/alarms_and_conditions/install_setpoint_options.ts +0 -0
  953. /package/{source → api}/interfaces/alarms_and_conditions/instantiate_condition_options.ts +0 -0
  954. /package/{source → api}/interfaces/alarms_and_conditions/ua_base_event_ex.ts +0 -0
  955. /package/{source → api}/interfaces/data_access/ua_y_array_item_ex.ts +0 -0
  956. /package/{source → api}/interfaces/extension_object_constructor.ts +0 -0
  957. /package/{source → api}/interfaces/i_condition_variable_type_setter_options.ts +0 -0
  958. /package/{source → api}/interfaces/i_set_state_options.ts +0 -0
  959. /package/{source → api}/interfaces/state_machine/ua_transition_ex.ts +0 -0
  960. /package/{source → api}/interfaces/ua_subscription_diagnostics_variable_ex.ts +0 -0
  961. /package/{source → api}/loader/make_semver_compatible.ts +0 -0
  962. /package/{source → api}/loader/parsers/localized_text_parser.ts +0 -0
  963. /package/{source → api}/loader/parsers/nodeid_parser.ts +0 -0
  964. /package/{source → api}/loader/parsers/qualified_name_parser.ts +0 -0
  965. /package/{source → api}/set_namespace_meta_data.ts +0 -0
  966. /package/{source → api}/ua_addin.ts +0 -0
  967. /package/{source → api}/ua_root_folder.ts +0 -0
  968. /package/{source → api}/xml_writer.ts +0 -0
  969. /package/dist/{source → api}/continuation_points/continuation_point_manager.d.ts +0 -0
  970. /package/dist/{source → api}/helpers/adjust_browse_direction.d.ts +0 -0
  971. /package/dist/{source → api}/helpers/adjust_browse_direction.js +0 -0
  972. /package/dist/{source → api}/helpers/argument_list.d.ts +0 -0
  973. /package/dist/{source → api}/helpers/call_helpers.d.ts +0 -0
  974. /package/dist/{source → api}/helpers/coerce_enum_value.js +0 -0
  975. /package/dist/{source → api}/helpers/dump_tools.d.ts +0 -0
  976. /package/dist/{source → api}/helpers/make_optionals_map.d.ts +0 -0
  977. /package/dist/{source → api}/helpers/make_optionals_map.js +0 -0
  978. /package/dist/{source → api}/helpers/multiform_func.d.ts +0 -0
  979. /package/dist/{source → api}/helpers/resolve_opaque_on_address_space.d.ts +0 -0
  980. /package/dist/{source → api}/interfaces/alarms_and_conditions/condition_snapshot.js +0 -0
  981. /package/dist/{source → api}/interfaces/alarms_and_conditions/deviation_stuff.js +0 -0
  982. /package/dist/{source → api}/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +0 -0
  983. /package/dist/{source → api}/interfaces/alarms_and_conditions/install_setpoint_options.js +0 -0
  984. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +0 -0
  985. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +0 -0
  986. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_condition_options.js +0 -0
  987. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +0 -0
  988. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +0 -0
  989. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +0 -0
  990. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +0 -0
  991. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +0 -0
  992. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +0 -0
  993. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +0 -0
  994. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +0 -0
  995. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_base_event_ex.d.ts +0 -0
  996. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_base_event_ex.js +0 -0
  997. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +0 -0
  998. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_condition_ex.js +0 -0
  999. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +0 -0
  1000. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +0 -0
  1001. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +0 -0
  1002. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +0 -0
  1003. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +0 -0
  1004. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +0 -0
  1005. /package/dist/{source → api}/interfaces/data_access/ua_multistate_discrete_ex.js +0 -0
  1006. /package/dist/{source → api}/interfaces/data_access/ua_multistate_value_discrete_ex.js +0 -0
  1007. /package/dist/{source → api}/interfaces/data_access/ua_two_state_discrete_ex.js +0 -0
  1008. /package/dist/{source → api}/interfaces/data_access/ua_y_array_item_ex.d.ts +0 -0
  1009. /package/dist/{source → api}/interfaces/data_access/ua_y_array_item_ex.js +0 -0
  1010. /package/dist/{source → api}/interfaces/extension_object_constructor.d.ts +0 -0
  1011. /package/dist/{source → api}/interfaces/extension_object_constructor.js +0 -0
  1012. /package/dist/{source → api}/interfaces/i_condition_variable_type_setter_options.d.ts +0 -0
  1013. /package/dist/{source → api}/interfaces/i_condition_variable_type_setter_options.js +0 -0
  1014. /package/dist/{source → api}/interfaces/i_set_state_options.d.ts +0 -0
  1015. /package/dist/{source → api}/interfaces/i_set_state_options.js +0 -0
  1016. /package/dist/{source → api}/interfaces/nodeset_loader_options.js +0 -0
  1017. /package/dist/{source → api}/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +0 -0
  1018. /package/dist/{source → api}/interfaces/state_machine/ua_finite_state_machine_type.js +0 -0
  1019. /package/dist/{source → api}/interfaces/state_machine/ua_program_state_machine_type.js +0 -0
  1020. /package/dist/{source → api}/interfaces/state_machine/ua_shelved_state_machine_ex.js +0 -0
  1021. /package/dist/{source → api}/interfaces/state_machine/ua_state_machine_type.js +0 -0
  1022. /package/dist/{source → api}/interfaces/state_machine/ua_transition_ex.d.ts +0 -0
  1023. /package/dist/{source → api}/interfaces/state_machine/ua_transition_ex.js +0 -0
  1024. /package/dist/{source → api}/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +0 -0
  1025. /package/dist/{source → api}/interfaces/ua_subscription_diagnostics_variable_ex.js +0 -0
  1026. /package/dist/{source → api}/loader/ensure_datatype_extracted.d.ts +0 -0
  1027. /package/dist/{source → api}/loader/make_semver_compatible.d.ts +0 -0
  1028. /package/dist/{source → api}/loader/make_semver_compatible.js +0 -0
  1029. /package/dist/{source → api}/loader/make_xml_extension_object_parser.d.ts +0 -0
  1030. /package/dist/{source → api}/loader/namespace_post_step.d.ts +0 -0
  1031. /package/dist/{source → api}/loader/parsers/extension_object_parser.d.ts +0 -0
  1032. /package/dist/{source → api}/loader/parsers/localized_text_parser.d.ts +0 -0
  1033. /package/dist/{source → api}/loader/parsers/localized_text_parser.js +0 -0
  1034. /package/dist/{source → api}/loader/parsers/nodeid_parser.d.ts +0 -0
  1035. /package/dist/{source → api}/loader/parsers/nodeid_parser.js +0 -0
  1036. /package/dist/{source → api}/loader/parsers/qualified_name_parser.d.ts +0 -0
  1037. /package/dist/{source → api}/loader/parsers/qualified_name_parser.js +0 -0
  1038. /package/dist/{source → api}/namespace.js +0 -0
  1039. /package/dist/{source → api}/namespace_alarm_and_condition.js +0 -0
  1040. /package/dist/{source → api}/namespace_data_access.js +0 -0
  1041. /package/dist/{source → api}/namespace_machine_state.js +0 -0
  1042. /package/dist/{source → api}/session_context.js +0 -0
  1043. /package/dist/{source → api}/set_namespace_meta_data.d.ts +0 -0
  1044. /package/dist/{source → api}/set_namespace_meta_data.js +0 -0
  1045. /package/dist/{source → api}/ua_addin.d.ts +0 -0
  1046. /package/dist/{source → api}/ua_addin.js +0 -0
  1047. /package/dist/{source → api}/ua_interface.d.ts +0 -0
  1048. /package/dist/{source → api}/ua_root_folder.d.ts +0 -0
  1049. /package/dist/{source → api}/ua_root_folder.js +0 -0
  1050. /package/dist/{source → api}/ua_two_state_variable_ex.js +0 -0
  1051. /package/dist/{source → api}/xml_writer.d.ts +0 -0
  1052. /package/dist/{source → api}/xml_writer.js +0 -0
  1053. /package/dist/{src → impl}/_instantiate_helpers.d.ts +0 -0
  1054. /package/dist/{src → impl}/_mandatory_child_or_requested_optional_filter.d.ts +0 -0
  1055. /package/dist/{src → impl}/address_space_change_event_tools.js +0 -0
  1056. /package/dist/{src → impl}/address_space_private.js +0 -0
  1057. /package/dist/{src → impl}/alarms_and_conditions/condition.d.ts +0 -0
  1058. /package/dist/{src → impl}/alarms_and_conditions/condition.js +0 -0
  1059. /package/dist/{src → impl}/check_value_rank_compatibility.d.ts +0 -0
  1060. /package/dist/{src → impl}/check_value_rank_compatibility.js +0 -0
  1061. /package/dist/{src → impl}/data_access/add_dataItem_stuff.d.ts +0 -0
  1062. /package/dist/{src → impl}/data_access/add_dataItem_stuff.js +0 -0
  1063. /package/dist/{src → impl}/data_access/adjust_datavalue_status_code.js +0 -0
  1064. /package/dist/{src → impl}/get_basic_datatype.d.ts +0 -0
  1065. /package/dist/{src → impl}/get_basic_datatype.js +0 -0
  1066. /package/dist/{src → impl}/idx_iterator.d.ts +0 -0
  1067. /package/dist/{src → impl}/idx_iterator.js +0 -0
  1068. /package/dist/{src → impl}/namespace_private.js +0 -0
  1069. /package/dist/{src → impl}/nodeid_manager.d.ts +0 -0
  1070. /package/dist/{src → impl}/nodeset_tools/adjust_namespace_array.d.ts +0 -0
  1071. /package/dist/{src → impl}/nodeset_tools/adjust_namespace_array.js +0 -0
  1072. /package/dist/{src → impl}/private_namespace.js +0 -0
  1073. /package/dist/{src → impl}/role_permissions.d.ts +0 -0
  1074. /package/dist/{src → impl}/role_permissions.js +0 -0
  1075. /package/dist/{src → impl}/ua_condition_type.d.ts +0 -0
  1076. /package/dist/{src → impl}/ua_condition_type.js +0 -0
  1077. /package/{src → impl}/alarms_and_conditions/condition.ts +0 -0
  1078. /package/{src → impl}/check_value_rank_compatibility.ts +0 -0
  1079. /package/{src → impl}/data_access/add_dataItem_stuff.ts +0 -0
  1080. /package/{src → impl}/get_basic_datatype.ts +0 -0
  1081. /package/{src → impl}/idx_iterator.ts +0 -0
  1082. /package/{src → impl}/nodeset_tools/adjust_namespace_array.ts +0 -0
  1083. /package/{src → impl}/role_permissions.ts +0 -0
  1084. /package/{src → impl}/ua_condition_type.ts +0 -0
@@ -1,1652 +0,0 @@
1
- /**
2
- * @module node-opcua-address-space
3
- */
4
- // produce nodeset xml files
5
-
6
- import { types } from "node:util";
7
- import type {
8
- BaseNode,
9
- IAddressSpace,
10
- UADataType,
11
- UAMethod,
12
- UAObject,
13
- UAReference,
14
- UAReferenceType,
15
- UAVariable,
16
- UAVariableType,
17
- UAView
18
- } from "node-opcua-address-space-base";
19
- import { assert } from "node-opcua-assert";
20
- import { AttributeIds, type Int64, isMinDate, type StatusCode } from "node-opcua-basic-types";
21
- import { ObjectIds, VariableIds } from "node-opcua-constants";
22
- import {
23
- BrowseDirection,
24
- type LocalizedText,
25
- makeAccessLevelFlag,
26
- makeNodeClassMask,
27
- makeResultMask,
28
- NodeClass,
29
- QualifiedName
30
- } from "node-opcua-data-model";
31
- import { make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
32
- import type { ExtensionObject } from "node-opcua-extension-object";
33
- import { NodeId, NodeIdType, resolveNodeId } from "node-opcua-nodeid";
34
- import { BrowseDescription, EnumDefinition, StructureDefinition, StructureType } from "node-opcua-types";
35
- import { isNullOrUndefined, lowerFirstLetter } from "node-opcua-utils";
36
- import { DataType, Variant, VariantArrayType } from "node-opcua-variant";
37
- import { makeDefinitionMap } from "../../source/loader/decode_xml_extension_object";
38
- import type { DefinitionMap2 } from "../../source/loader/make_xml_extension_object_parser";
39
- import type { XmlWriter } from "../../source/xml_writer";
40
- import { BaseNodeImpl, getReferenceType } from "../base_node_impl";
41
- import { SessionContext } from "../index_current";
42
- import { NamespaceImpl } from "../namespace_impl";
43
- import { ReferenceImpl } from "../reference_impl";
44
- import { UADataTypeImpl } from "../ua_data_type_impl";
45
- import { UAMethodImpl } from "../ua_method_impl";
46
- import { UAObjectImpl } from "../ua_object_impl";
47
- import { UAObjectTypeImpl } from "../ua_object_type_impl";
48
- import { UAReferenceTypeImpl } from "../ua_reference_type_impl";
49
- import { UAVariableImpl } from "../ua_variable_impl";
50
- import { UAVariableTypeImpl } from "../ua_variable_type_impl";
51
- import { UAViewImpl } from "../ua_view_impl";
52
- import {
53
- _constructNamespaceTranslationTable,
54
- constructNamespaceDependency,
55
- constructNamespacePriorityTable
56
- } from "./construct_namespace_dependency";
57
-
58
- const XMLWriter = require("xml-writer");
59
-
60
- const debugLog = make_debugLog(__filename);
61
- const warningLog = make_warningLog(__filename);
62
- const errorLog = make_errorLog(__filename);
63
- const doDebug = false;
64
-
65
- function _hash(node: BaseNode | UAReference): string {
66
- return node.nodeId.toString();
67
- }
68
-
69
- function _dumpDisplayName(xw: XmlWriter, node: BaseNode): void {
70
- if (node.displayName?.[0]) {
71
- xw.startElement("DisplayName")
72
- .text(node.displayName[0].text || "")
73
- .endElement();
74
- }
75
- }
76
- function _dumpDescription(xw: XmlWriter, node: { description?: LocalizedText }): void {
77
- if (node.description?.text?.length) {
78
- let desc = node.description.text;
79
- desc = desc || "";
80
- xw.startElement("Description").text(desc).endElement();
81
- }
82
- }
83
-
84
- function translateNodeId(xw: XmlWriter, nodeId: NodeId): NodeId {
85
- assert(nodeId instanceof NodeId);
86
- const nn = xw.translationTable.get(nodeId.namespace);
87
- const translatedNode = new NodeId(nodeId.identifierType, nodeId.value, nn);
88
- return translatedNode;
89
- }
90
-
91
- function n(xw: XmlWriter, nodeId: NodeId): string {
92
- return translateNodeId(xw, nodeId).toString().replace("ns=0;", "");
93
- }
94
-
95
- function translateBrowseName(xw: XmlWriter, browseName: QualifiedName): QualifiedName {
96
- assert(browseName instanceof QualifiedName);
97
- const nn = xw.translationTable.get(browseName.namespaceIndex);
98
- const translatedBrowseName = new QualifiedName({ namespaceIndex: nn, name: browseName.name });
99
- return translatedBrowseName;
100
- }
101
-
102
- function b(xw: XmlWriter, browseName: QualifiedName): string {
103
- return translateBrowseName(xw, browseName).toString().replace("ns=0;", "");
104
- }
105
-
106
- function hasHigherPriorityThan(namespaceIndex1: number, namespaceIndex2: number, priorityTable: number[]) {
107
- const order1 = priorityTable[namespaceIndex1];
108
- const order2 = priorityTable[namespaceIndex2];
109
- return order1 > order2;
110
- }
111
-
112
- function _hasHigherPriorityThan(xw: XmlWriter, namespaceIndex1: number, namespaceIndex2: number) {
113
- assert(xw.priorityTable, "expecting a priorityTable");
114
- assert(namespaceIndex1 < xw.priorityTable.length);
115
- assert(namespaceIndex2 < xw.priorityTable.length);
116
- return hasHigherPriorityThan(namespaceIndex1, namespaceIndex2, xw.priorityTable);
117
- }
118
-
119
- function _mustFindReferenceType(addressSpace: IAddressSpace, name: string): UAReferenceType {
120
- const referenceType = addressSpace.findReferenceType(name);
121
- // c8 ignore next
122
- if (!referenceType) {
123
- throw new Error(`Cannot find standard reference type ${name}: please check your nodeset file`);
124
- }
125
- return referenceType;
126
- }
127
-
128
- function _dumpReferences(xw: XmlWriter, node: BaseNode) {
129
- xw.startElement("References");
130
-
131
- const addressSpace = node.addressSpace;
132
-
133
- const aggregateReferenceType = _mustFindReferenceType(addressSpace, "Aggregates");
134
- // const hasChildReferenceType = _mustFindReferenceType(addressSpace, "HasChild");
135
- const hasSubtypeReferenceType = _mustFindReferenceType(addressSpace, "HasSubtype");
136
- const hasTypeDefinitionReferenceType = _mustFindReferenceType(addressSpace, "HasTypeDefinition");
137
- const nonHierarchicalReferencesType = _mustFindReferenceType(addressSpace, "NonHierarchicalReferences");
138
- const organizesReferencesType = _mustFindReferenceType(addressSpace, "Organizes");
139
- // ConnectsTo is genuinely optional: not every nodeset registers it, and the check
140
- // below already tolerates it being absent.
141
- const connectsToReferenceType = addressSpace.findReferenceType("ConnectsTo");
142
- const hasEventSourceReferenceType = _mustFindReferenceType(addressSpace, "HasEventSource");
143
-
144
- function referenceToKeep(reference: UAReference): boolean {
145
- const referenceType = (reference as ReferenceImpl)._referenceType;
146
- if (!referenceType) {
147
- return false;
148
- }
149
- const targetedNamespaceIndex = reference.nodeId.namespace;
150
-
151
- // get the direct backward reference to a external namespace
152
- if (referenceType.isSubtypeOf(aggregateReferenceType) && !reference.isForward) {
153
- if (reference.nodeId.namespace !== node.nodeId.namespace) {
154
- // todo: may be check that reference.nodeId.namespace is one of the namespace
155
- // on which our namespace is build and not a derived one !
156
- return true;
157
- }
158
- }
159
- if (referenceType.isSubtypeOf(hasSubtypeReferenceType) && reference.isForward) {
160
- // return false;
161
- }
162
- // only keep
163
- if (referenceType.isSubtypeOf(aggregateReferenceType) && reference.isForward) {
164
- if (_hasHigherPriorityThan(xw, targetedNamespaceIndex, node.nodeId.namespace)) {
165
- return false;
166
- }
167
- return true;
168
- } else if (referenceType.isSubtypeOf(hasSubtypeReferenceType) && !reference.isForward) {
169
- return true;
170
- } else if (referenceType.isSubtypeOf(hasTypeDefinitionReferenceType) && reference.isForward) {
171
- return true;
172
- } else if (referenceType.isSubtypeOf(nonHierarchicalReferencesType) && reference.isForward) {
173
- // e.g. HasInterface — always keep, the current node owns this reference
174
- return true;
175
- } else if (referenceType.isSubtypeOf(organizesReferencesType) && !reference.isForward) {
176
- // Organizes inverse — the current node is organized by an external folder
177
- return true;
178
- } else if (connectsToReferenceType && referenceType.isSubtypeOf(connectsToReferenceType) && reference.isForward) {
179
- return true;
180
- } else if (referenceType.isSubtypeOf(hasEventSourceReferenceType) && reference.isForward) {
181
- return true;
182
- }
183
- return false;
184
- }
185
- const allReferences = node.allReferences();
186
- const references = allReferences.filter(referenceToKeep);
187
-
188
- for (const reference of references.sort(sortByNodeId)) {
189
- if (getReferenceType(reference).browseName.toString() === "HasSubtype" && reference.isForward) {
190
- continue;
191
- }
192
- xw.startElement("Reference");
193
-
194
- xw.writeAttribute("ReferenceType", b(xw, getReferenceType(reference).browseName));
195
-
196
- if (!reference.isForward) {
197
- xw.writeAttribute("IsForward", reference.isForward ? "true" : "false");
198
- }
199
- xw.text(n(xw, reference.nodeId));
200
-
201
- xw.endElement();
202
- }
203
- xw.endElement();
204
- }
205
- function _dumpLocalizedText(xw: XmlWriter, v: LocalizedText) {
206
- const uax = getPrefix(xw, "http://opcfoundation.org/UA/2008/02/Types.xsd");
207
- if (v.locale?.length) {
208
- xw.startElement(`${uax}Locale`);
209
- xw.text(v.locale);
210
- xw.endElement();
211
- }
212
- xw.startElement(`${uax}Text`);
213
- if (v.text) {
214
- xw.text(v.text);
215
- }
216
- xw.endElement();
217
- }
218
- function _dumpQualifiedName(xw: XmlWriter, v: QualifiedName) {
219
- const uax = getPrefix(xw, "http://opcfoundation.org/UA/2008/02/Types.xsd");
220
- const t = translateBrowseName(xw, v);
221
- if (t.name) {
222
- xw.startElement(`${uax}Name`);
223
- xw.text(t.name);
224
- xw.endElement();
225
- }
226
- if (t.namespaceIndex) {
227
- xw.startElement(`${uax}NamespaceIndex`);
228
- xw.text(t.namespaceIndex.toString());
229
- xw.endElement();
230
- }
231
- }
232
- function _dumpXmlElement(xw: XmlWriter, v: string) {
233
- xw.text(v);
234
- }
235
- /*
236
- <uax:ExtensionObject>
237
- <uax:TypeId>
238
- <uax:Identifier>i=339</uax:Identifier>
239
- </uax:TypeId>
240
- <uax:Body>
241
- <BuildInfo xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
242
- <ProductUri></ProductUri>
243
- <ManufacturerName></ManufacturerName>
244
- <ProductName></ProductName>
245
- <SoftwareVersion></SoftwareVersion>
246
- <BuildNumber></BuildNumber>
247
- <BuildDate>1900-01-01T00:00:00Z</BuildDate>
248
- </BuildInfo>
249
- </uax:Body>
250
- </uax:ExtensionObject>
251
- */
252
- type XmlNamespaceUri = string;
253
- type NamespaceUri = string;
254
- type XmlNs = string;
255
- interface XmlWriterEx extends XmlWriter {
256
- map: Record<XmlNamespaceUri, XmlNs>;
257
- stackMap: Record<XmlNamespaceUri, XmlNs>[];
258
- namespaceArray: NamespaceUri[];
259
- }
260
- function initXmlWriterEx(xw: XmlWriter, map: Record<XmlNamespaceUri, XmlNs>, namespaceArray: NamespaceUri[]): void {
261
- const xwe = xw as XmlWriterEx;
262
- xwe.map = map;
263
- xwe.stackMap = [];
264
- xwe.namespaceArray = namespaceArray;
265
- }
266
- function findXsdNamespaceUri(xw: XmlWriter, nodeId: NodeId): string {
267
- const xwe = xw as XmlWriterEx;
268
- if (!xwe.namespaceArray) {
269
- return "";
270
- }
271
- const namespace = xwe.namespaceArray[nodeId.namespace];
272
- if (namespace === "http://opcfoundation.org/UA/") {
273
- return "http://opcfoundation.org/UA/2008/02/Types.xsd";
274
- }
275
- // c8 ignore next
276
- if (!namespace) {
277
- return "";
278
- }
279
- return `${namespace.replace(/\/$/, "")}/Types.xsd`;
280
- }
281
-
282
- function getPrefix(xw: XmlWriter, namespace: XmlNamespaceUri): XmlNs {
283
- const xwe = xw as XmlWriterEx;
284
- if (!xwe.map) return "";
285
- const p = xwe.map[namespace] || "";
286
- return p ? `${p}:` : "";
287
- }
288
-
289
- function restoreDefaultNamespace(xw: XmlWriter) {
290
- const xwe = xw as XmlWriterEx;
291
- if (!xwe.map) return;
292
- const previousMap = xwe.stackMap.pop();
293
- if (previousMap) {
294
- xwe.map = previousMap;
295
- }
296
- }
297
-
298
- function setDefaultNamespace(xw: XmlWriter, namespace: XmlNamespaceUri): void {
299
- const xwe = xw as XmlWriterEx;
300
- if (!xwe.map) return;
301
- if (xwe.map[namespace] !== "") {
302
- xw.writeAttribute("xmlns", namespace);
303
- }
304
-
305
- xwe.stackMap.push({
306
- ...xwe.map
307
- });
308
- xwe.map[namespace] = "";
309
- }
310
-
311
- function startElementEx(xw: XmlWriter, _ns: XmlNs, name: string, defaultNamespace: XmlNamespaceUri) {
312
- const _xwe = xw as XmlWriterEx;
313
- xw.startElement(name);
314
- setDefaultNamespace(xw, defaultNamespace);
315
- }
316
-
317
- function _dumpNodeId(xw: XmlWriter, v: NodeId) {
318
- const xmlns = getPrefix(xw, "http://opcfoundation.org/UA/2008/02/Types.xsd");
319
- xw.startElement(`${xmlns}Identifier`);
320
- xw.text(n(xw, v));
321
- xw.endElement();
322
- }
323
-
324
- function _dumpVariantValue(xw: XmlWriter, dataTypeNodeId: NodeId, dataType: DataType, addressSpace: IAddressSpace, value: unknown) {
325
- if (value === undefined || value === null) {
326
- return;
327
- }
328
- if (dataType === DataType.Null) {
329
- return;
330
- }
331
- const uax = getPrefix(xw, "http://opcfoundation.org/UA/2008/02/Types.xsd");
332
- xw.startElement(`${uax}${DataType[dataType]}`);
333
- const definitionMap = makeDefinitionMap(addressSpace);
334
- _dumpVariantInnerValue(xw, dataType, dataTypeNodeId, definitionMap, addressSpace, value);
335
- xw.endElement();
336
- }
337
-
338
- function _dumpVariantInnerExtensionObject(
339
- xw: XmlWriter,
340
- definitionMap: DefinitionMap2,
341
- definition: StructureDefinition,
342
- addressSpace: IAddressSpace,
343
- value: ExtensionObject
344
- ) {
345
- const namespaceUri = findXsdNamespaceUri(xw, definition.defaultEncodingId);
346
- const ns = getPrefix(xw, namespaceUri);
347
-
348
- const isUnion =
349
- definition.structureType === StructureType.Union || definition.structureType === StructureType.UnionWithSubtypedValues;
350
-
351
- for (const field of definition.fields || []) {
352
- const dataTypeNodeId = field.dataType;
353
-
354
- const fieldName = field.name || "";
355
- const lowerFieldName = lowerFirstLetter(fieldName);
356
- const v = (value as unknown as Record<string, unknown>)[lowerFieldName];
357
- if (v !== null && v !== undefined) {
358
- if (
359
- dataTypeNodeId.namespace === 0 &&
360
- dataTypeNodeId.value === 0 &&
361
- dataTypeNodeId.identifierType === NodeIdType.NUMERIC
362
- ) {
363
- // to do ?? shall we do a extension Object here ?
364
- continue; // ns=0;i=0 is reserved
365
- }
366
-
367
- const { name, definition } = definitionMap.findDefinition(dataTypeNodeId);
368
-
369
- startElementEx(xw, ns, fieldName, namespaceUri);
370
- // xw.startElement(fieldName);
371
-
372
- let fun: (value: unknown) => void = (_value: unknown) => {
373
- /** */
374
- };
375
- if (definition instanceof StructureDefinition) {
376
- fun = _dumpVariantInnerExtensionObject.bind(null, xw, definitionMap, definition, addressSpace) as (
377
- value: unknown
378
- ) => void;
379
- } else if (definition instanceof EnumDefinition) {
380
- fun = _dumpVariantInnerValueEnum.bind(null, xw, definition);
381
- } else if (definition?.dataType === DataType.Variant) {
382
- fun = (value: unknown) => {
383
- const variantValue = value as Variant;
384
- xw.startElement("Value");
385
- _dumpVariantValue(xw, field.dataType, variantValue.dataType, addressSpace, variantValue.value);
386
- xw.endElement();
387
- };
388
- } else {
389
- const baseType = definition.dataType;
390
- fun = _dumpVariantInnerValue.bind(null, xw, baseType, dataTypeNodeId, definitionMap, addressSpace);
391
- }
392
- try {
393
- if (field.valueRank === -1) {
394
- fun(v);
395
- } else {
396
- // array
397
- for (const arrayItem of v as unknown[]) {
398
- xw.startElement(name);
399
- fun(arrayItem);
400
- xw.endElement();
401
- }
402
- }
403
- } catch (err) {
404
- if (types.isNativeError(err)) {
405
- errorLog("Error in _dumpVariantExtensionObjectValue_Body !!!", err.message);
406
- }
407
- // c8 ignore next
408
- if (doDebug) {
409
- debugLog(name);
410
- debugLog(field);
411
- }
412
- // throw err;
413
- }
414
- restoreDefaultNamespace(xw);
415
- xw.endElement();
416
- } else {
417
- if (!isUnion && !field.isOptional) {
418
- // field is mandatory but is null=> provide an empty array
419
- startElementEx(xw, ns, fieldName, namespaceUri);
420
- restoreDefaultNamespace(xw);
421
- xw.endElement();
422
- }
423
- }
424
- }
425
- }
426
-
427
- function _dumpVariantInnerValueEnum(xw: XmlWriter, definition: EnumDefinition, value: unknown): void {
428
- if (!definition.fields) {
429
- return;
430
- }
431
- const field = definition.fields.find((f) => f.value[1] === value || f.name === value);
432
- xw.text(`${field?.name}_${field?.value[1]}`);
433
- }
434
-
435
- function _dumpVariantInnerValue(
436
- xw: XmlWriter,
437
- dataType: DataType,
438
- dataTypeNodeId: NodeId,
439
- definitionMap: DefinitionMap2,
440
- addressSpace: IAddressSpace,
441
- value: unknown
442
- ): void {
443
- const uax = getPrefix(xw, "http://opcfoundation.org/UA/2008/02/Types.xsd");
444
- switch (dataType) {
445
- case null:
446
- case DataType.Null:
447
- break;
448
- case DataType.LocalizedText:
449
- _dumpLocalizedText(xw, value as LocalizedText);
450
- break;
451
- case DataType.QualifiedName:
452
- _dumpQualifiedName(xw, value as QualifiedName);
453
- break;
454
- case DataType.NodeId:
455
- _dumpNodeId(xw, value as NodeId);
456
- break;
457
- case DataType.DateTime:
458
- xw.text((value as Date).toISOString());
459
- break;
460
- case DataType.Int64:
461
- case DataType.UInt64:
462
- xw.text((value as [number, number])[1].toString());
463
- break;
464
- case DataType.Boolean:
465
- case DataType.SByte:
466
- case DataType.Byte:
467
- case DataType.Float:
468
- case DataType.Double:
469
- case DataType.Int16:
470
- case DataType.Int32:
471
- case DataType.UInt16:
472
- case DataType.UInt32:
473
- case DataType.String:
474
- xw.text((value as { toString(): string }).toString());
475
- break;
476
- case DataType.ByteString:
477
- {
478
- const base64 = (value as Buffer).toString("base64");
479
- const chunks = base64.match(/.{0,80}/g);
480
- xw.text(base64.length > 80 && chunks ? chunks.join("\n") : base64);
481
- }
482
- break;
483
- case DataType.Guid:
484
- /*
485
- <uax:Guid>
486
- <uax:String>947c29a7-490d-4dc9-adda-1109e3e8fcb7</uax:String>
487
- </uax:Guid>
488
- */
489
- if (value !== undefined && value !== null) {
490
- // xw.writeAttribute("xmlns", "http://opcfoundation.org/UA/2008/02/Types.xsd");
491
- xw.startElement(`${uax}String`);
492
- xw.text((value as { toString(): string }).toString());
493
- xw.endElement();
494
- }
495
- break;
496
-
497
- case DataType.ExtensionObject:
498
- _dumpVariantExtensionObjectValue(xw, dataTypeNodeId, definitionMap, addressSpace, value as ExtensionObject);
499
- break;
500
- case DataType.XmlElement:
501
- _dumpXmlElement(xw, value as string);
502
- break;
503
- case DataType.StatusCode:
504
- xw.text((value as StatusCode).value.toString());
505
- break;
506
- case DataType.Variant: {
507
- const variantValue = value as Variant;
508
- _dumpVariantInnerValue(xw, variantValue.dataType, dataTypeNodeId, definitionMap, addressSpace, variantValue.value);
509
- break;
510
- }
511
- default:
512
- errorLog(`_dumpVariantInnerValue incomplete ${value} DataType=${dataType}=${DataType[dataType]}`);
513
- // throw new Error("_dumpVariantInnerValue incomplete " + value + " " + "DataType=" + dataType + "=" + DataType[dataType]);
514
- }
515
- }
516
-
517
- /**
518
- *
519
- * @param xw
520
- * @param schema
521
- * @param value
522
- * @private
523
- */
524
- function _dumpVariantExtensionObjectValue_Body(
525
- xw: XmlWriter,
526
- definitionMap: DefinitionMap2,
527
- name: string,
528
- definition: StructureDefinition,
529
- addressSpace: IAddressSpace,
530
- value: ExtensionObject
531
- ) {
532
- if (value) {
533
- const namespaceUri = findXsdNamespaceUri(xw, definition.defaultEncodingId);
534
- const ns = getPrefix(xw, namespaceUri);
535
- startElementEx(xw, ns, `${name}`, namespaceUri);
536
- if (value) {
537
- _dumpVariantInnerExtensionObject(xw, definitionMap, definition, addressSpace, value);
538
- }
539
- restoreDefaultNamespace(xw);
540
- xw.endElement();
541
- }
542
- }
543
-
544
- function _dumpVariantExtensionObjectValue(
545
- xw: XmlWriter,
546
- dataTypeNodeId: NodeId,
547
- definitionMap: DefinitionMap2,
548
- addressSpace: IAddressSpace,
549
- value: ExtensionObject
550
- ) {
551
- const { name, definition } = definitionMap.findDefinition(dataTypeNodeId);
552
- // const encodingDefaultXml = (getStructureTypeConstructor(schema.name) as any).encodingDefaultXml;
553
- const encodingDefaultXml = value.schema.encodingDefaultXml;
554
- if (!encodingDefaultXml || encodingDefaultXml.isEmpty()) {
555
- warningLog("dataType Name ", name, "with ", dataTypeNodeId.toString(), " does not have xml encoding");
556
- // throw new Error("Extension Object doesn't provide a XML ");
557
- return;
558
- }
559
- const uax = getPrefix(xw, "http://opcfoundation.org/UA/2008/02/Types.xsd");
560
- startElementEx(xw, uax, `ExtensionObject`, "http://opcfoundation.org/UA/2008/02/Types.xsd");
561
- {
562
- const uax = getPrefix(xw, "http://opcfoundation.org/UA/2008/02/Types.xsd");
563
- xw.startElement(`${uax}TypeId`);
564
- // find HasEncoding node
565
- // xx var encodingDefaultXml = schema.encodingDefaultXml;
566
- xw.startElement(`${uax}Identifier`);
567
- xw.text(n(xw, encodingDefaultXml));
568
- xw.endElement();
569
- xw.endElement();
570
- startElementEx(xw, uax, "Body", "http://opcfoundation.org/UA/2008/02/Types.xsd");
571
-
572
- _dumpVariantExtensionObjectValue_Body(xw, definitionMap, name, definition as StructureDefinition, addressSpace, value);
573
-
574
- restoreDefaultNamespace(xw);
575
- xw.endElement();
576
- }
577
- restoreDefaultNamespace(xw);
578
- xw.endElement();
579
- }
580
-
581
- function _dumpVariantExtensionObjectValue2(xw: XmlWriter, addressSpace: IAddressSpace, value: ExtensionObject) {
582
- const dataTypeNodeId = value.schema.dataTypeNodeId;
583
- const definitionMap = makeDefinitionMap(addressSpace);
584
- const dataTypeNode = addressSpace.findDataType(dataTypeNodeId);
585
- if (!dataTypeNode) {
586
- warningLog("_dumpVariantExtensionObjectValue2: Cannot find dataType for ", dataTypeNodeId.toString());
587
- return;
588
- }
589
- _dumpVariantExtensionObjectValue(xw, dataTypeNode.nodeId, definitionMap, addressSpace, value);
590
- }
591
-
592
- function _isDefaultValue(value: Variant): boolean {
593
- // detect default value
594
- if (value.arrayType === VariantArrayType.Scalar) {
595
- switch (value.dataType) {
596
- case DataType.ExtensionObject:
597
- if (!value.value) {
598
- return true;
599
- }
600
- break;
601
- case DataType.DateTime:
602
- if (!value.value || isMinDate(value.value)) {
603
- return true;
604
- }
605
- break;
606
- case DataType.ByteString:
607
- if (!value.value || value.value.length === 0) {
608
- return true;
609
- }
610
- break;
611
- case DataType.Boolean:
612
- return false; // we want it all the time !
613
- case DataType.SByte:
614
- case DataType.Byte:
615
- case DataType.UInt16:
616
- case DataType.UInt32:
617
- case DataType.Int16:
618
- case DataType.Int32:
619
- case DataType.Double:
620
- case DataType.Float:
621
- if (value.value === 0 || value.value === null) {
622
- return true;
623
- }
624
- break;
625
- case DataType.String:
626
- if (value.value === null || value.value === "") {
627
- return true;
628
- }
629
- break;
630
- case DataType.Int64:
631
- case DataType.UInt64:
632
- if (0 === coerceInt64ToInt32(value.value)) {
633
- return true;
634
- }
635
- break;
636
- case DataType.LocalizedText:
637
- if (!value.value) {
638
- return true;
639
- }
640
- {
641
- const l = value.value as LocalizedText;
642
- if (!l.locale && !l.text) {
643
- return true;
644
- }
645
- }
646
- break;
647
- }
648
- return false;
649
- } else {
650
- if (!value.value || value.value.length === 0) {
651
- return true;
652
- }
653
- return false;
654
- }
655
- }
656
-
657
- function _dumpValue(xw: XmlWriter, node: UAVariable | UAVariableType, variant: Variant) {
658
- const addressSpace = node.addressSpace;
659
-
660
- // c8 ignore next
661
- if (variant === null || variant === undefined) {
662
- return;
663
- }
664
- assert(variant instanceof Variant);
665
-
666
- const dataTypeNode = addressSpace.findDataType(node.dataType);
667
-
668
- // c8 ignore next
669
- if (!dataTypeNode) {
670
- // c8 ignore next
671
- doDebug && debugLog("Cannot find dataType:", node.dataType.toString());
672
- return;
673
- }
674
-
675
- const dataTypeName = dataTypeNode.browseName.name?.toString();
676
- const baseDataTypeName = DataType[variant.dataType];
677
-
678
- if (baseDataTypeName === "Null") {
679
- return;
680
- }
681
- assert(typeof baseDataTypeName === "string");
682
-
683
- // determine if dataTypeName is a ExtensionObject
684
- const isExtensionObject = variant.dataType === DataType.ExtensionObject;
685
-
686
- if (_isDefaultValue(variant)) {
687
- return;
688
- }
689
- xw.startElement("Value");
690
-
691
- const uax = getPrefix(xw, "http://opcfoundation.org/UA/2008/02/Types.xsd");
692
- if (isExtensionObject) {
693
- const encodeXml = _dumpVariantExtensionObjectValue2.bind(null, xw, node.addressSpace);
694
-
695
- switch (variant.arrayType) {
696
- case VariantArrayType.Matrix:
697
- case VariantArrayType.Array:
698
- startElementEx(xw, uax, `ListOf${baseDataTypeName}`, "http://opcfoundation.org/UA/2008/02/Types.xsd");
699
- variant.value.forEach(encodeXml);
700
- restoreDefaultNamespace(xw);
701
- xw.endElement();
702
- break;
703
- case VariantArrayType.Scalar:
704
- encodeXml(variant.value);
705
- break;
706
- default:
707
- errorLog(node.toString());
708
- errorLog("_dumpValue : unsupported arrayType: ", variant.arrayType);
709
- }
710
- } else {
711
- const encodeXml = _dumpVariantValue.bind(null, xw, node.dataType, variant.dataType, node.addressSpace);
712
- switch (variant.arrayType) {
713
- case VariantArrayType.Matrix:
714
- case VariantArrayType.Array:
715
- startElementEx(xw, uax, `ListOf${dataTypeName}`, "http://opcfoundation.org/UA/2008/02/Types.xsd");
716
- variant.value.forEach(encodeXml);
717
- restoreDefaultNamespace(xw);
718
- xw.endElement();
719
- break;
720
- case VariantArrayType.Scalar:
721
- encodeXml(variant.value);
722
- break;
723
- default:
724
- errorLog(node.toString());
725
- errorLog("_dumpValue : unsupported arrayType: ", variant.arrayType);
726
- }
727
- }
728
-
729
- xw.endElement();
730
- }
731
-
732
- function _dumpArrayDimensionsAttribute(xw: XmlWriter, node: UAVariableType | UAVariable) {
733
- if (node.arrayDimensions) {
734
- if (node.valueRank === -1 || (node.arrayDimensions.length === 1 && node.arrayDimensions[0] === 0)) {
735
- return;
736
- }
737
- xw.writeAttribute("ArrayDimensions", node.arrayDimensions.join(","));
738
- }
739
- }
740
-
741
- function _visitUANode(node: BaseNode, data: DumpData, forward: boolean) {
742
- const addressSpace = node.addressSpace;
743
-
744
- // visit references
745
- function process_reference(reference: UAReference) {
746
- // only backward or forward references
747
- if (reference.isForward !== forward) {
748
- return;
749
- }
750
-
751
- if (reference.nodeId.namespace === 0) {
752
- return; // skip OPCUA namespace
753
- }
754
- const k = _hash(reference);
755
- if (!data.index_el[k]) {
756
- data.index_el[k] = 1;
757
-
758
- const o = addressSpace.findNode(k) as BaseNode | null;
759
- if (o) {
760
- _visitUANode(o, data, forward);
761
- }
762
- }
763
- }
764
-
765
- (node as BaseNodeImpl).ownReferences().forEach(process_reference);
766
- data.elements.push(node as BaseNodeImpl);
767
- return node;
768
- }
769
-
770
- function dumpNodeInXml(xw: XmlWriter, node: BaseNode) {
771
- return (node as BaseNodeImpl).dumpXML(xw);
772
- }
773
- function dumpReferencedNodes(xw: XmlWriter, node: BaseNode, forward: boolean) {
774
- const addressSpace = node.addressSpace;
775
- if (!forward) {
776
- {
777
- const r = node.findReferencesEx("HasTypeDefinition");
778
- if (r?.length) {
779
- assert(r.length === 1);
780
- const typeDefinitionObj = ReferenceImpl.resolveReferenceNode(addressSpace, r[0]) as BaseNode | null;
781
- if (!typeDefinitionObj) {
782
- warningLog(node.toString());
783
- warningLog(
784
- `dumpReferencedNodes: Warning : ${node.browseName.toString()} unknown typeDefinition, `,
785
- r[0].toString()
786
- );
787
- } else {
788
- assert(typeDefinitionObj instanceof BaseNodeImpl);
789
- if (typeDefinitionObj.nodeId.namespace === node.nodeId.namespace) {
790
- // only output node if it is on the same namespace
791
- if (!xw.visitedNode.has(_hash(typeDefinitionObj))) {
792
- dumpNodeInXml(xw, typeDefinitionObj);
793
- }
794
- }
795
- }
796
- }
797
- }
798
-
799
- //
800
- {
801
- const r = node.findReferencesEx("HasSubtype", BrowseDirection.Inverse);
802
- if (r?.length) {
803
- const subTypeOf = ReferenceImpl.resolveReferenceNode(addressSpace, r[0]) as BaseNode | null;
804
- assert(r.length === 1);
805
- if (subTypeOf && subTypeOf.nodeId.namespace === node.nodeId.namespace) {
806
- // only output node if it is on the same namespace
807
- if (!xw.visitedNode.has(_hash(subTypeOf))) {
808
- dumpNodeInXml(xw, subTypeOf);
809
- }
810
- }
811
- }
812
- }
813
- } else {
814
- const r = node.findReferencesEx("Aggregates", BrowseDirection.Forward);
815
- for (const reference of r) {
816
- const nodeChild = ReferenceImpl.resolveReferenceNode(addressSpace, reference) as BaseNode;
817
- assert(nodeChild instanceof BaseNodeImpl);
818
- if (nodeChild.nodeId.namespace === node.nodeId.namespace) {
819
- if (!xw.visitedNode.has(_hash(nodeChild))) {
820
- // c8 ignore next
821
- doDebug &&
822
- debugLog(
823
- node.nodeId.toString(),
824
- " dumping child ",
825
- nodeChild.browseName.toString(),
826
- nodeChild.nodeId.toString()
827
- );
828
- dumpNodeInXml(xw, nodeChild);
829
- }
830
- }
831
- }
832
- }
833
- }
834
-
835
- function getParent(node: BaseNode): BaseNode | null {
836
- if (node instanceof UAVariableImpl || node instanceof UAMethodImpl || node instanceof UAObjectImpl) {
837
- return node.parent;
838
- }
839
- return null;
840
- }
841
-
842
- const currentReadFlag = makeAccessLevelFlag("CurrentRead");
843
- function dumpCommonAttributes(xw: XmlWriter, node: BaseNode) {
844
- xw.writeAttribute("NodeId", n(xw, node.nodeId));
845
- xw.writeAttribute("BrowseName", b(xw, node.browseName));
846
-
847
- const parentNode = getParent(node);
848
- if (parentNode) {
849
- if (parentNode.nodeId.namespace <= node.nodeId.namespace) {
850
- xw.writeAttribute("ParentNodeId", n(xw, parentNode.nodeId));
851
- }
852
- }
853
- if (Object.hasOwn(node, "symbolicName")) {
854
- xw.writeAttribute("SymbolicName", (node as unknown as { symbolicName: string }).symbolicName);
855
- }
856
- if (Object.hasOwn(node, "isAbstract")) {
857
- const isAbstract = (node as unknown as { isAbstract: boolean }).isAbstract;
858
- if (isAbstract) {
859
- xw.writeAttribute("IsAbstract", isAbstract ? "true" : "false");
860
- }
861
- }
862
- // AccessLevel and UserAccessLevel exist in the XSD on UAVariable only. Gate on the node
863
- // class rather than on the presence of the property: UAVariableTypeImpl happens not to own
864
- // an accessLevel today, but it does own a `historizing` (see #1550), so a property-presence
865
- // guard is one refactor away from emitting an attribute the schema rejects.
866
- if (node.nodeClass === NodeClass.Variable) {
867
- const variable = node as UAVariable;
868
- // CurrentRead is by default
869
- if (variable.accessLevel !== currentReadFlag) {
870
- xw.writeAttribute("AccessLevel", variable.accessLevel.toString());
871
- }
872
- // UserAccessLevel is implicitly accessLevel when omitted (see convertUserAccessLevel in the loader),
873
- // so it only needs to be written down when it further restricts accessLevel.
874
- if (variable.userAccessLevel !== undefined && variable.userAccessLevel !== variable.accessLevel) {
875
- xw.writeAttribute("UserAccessLevel", variable.userAccessLevel.toString());
876
- }
877
- }
878
- // access policy: undefined means "inherit from the namespace", an empty rolePermissions array
879
- // means "this node deliberately grants nothing".
880
- if (node.accessRestrictions !== undefined) {
881
- xw.writeAttribute("AccessRestrictions", node.accessRestrictions.toString());
882
- }
883
- if (node.rolePermissions !== undefined && node.rolePermissions.length === 0) {
884
- xw.writeAttribute("HasNoPermissions", "true");
885
- }
886
- if (Object.hasOwn(node, "minimumSamplingInterval")) {
887
- const minimumSamplingInterval = (node as UAVariable).minimumSamplingInterval;
888
- if (minimumSamplingInterval > 0) {
889
- xw.writeAttribute("MinimumSamplingInterval", minimumSamplingInterval);
890
- }
891
- }
892
- // Historizing exists in the XSD on UAVariable only: UAVariableType is restricted to
893
- // DataType/ValueRank/ArrayDimensions. UAVariableTypeImpl nevertheless owns a `historizing`
894
- // property, so the node class must be tested here rather than the presence of the property.
895
- // false being the default, the attribute is only emitted when it is set.
896
- if (node.nodeClass === NodeClass.Variable && (node as UAVariable).historizing) {
897
- xw.writeAttribute("Historizing", "true");
898
- }
899
- }
900
-
901
- // the UANode XSD sequence is DisplayName, Description, Category, Documentation, References,
902
- // RolePermissions, Extensions: RolePermissions must therefore come after References.
903
- function _dumpRolePermissions(xw: XmlWriter, node: BaseNode) {
904
- const rolePermissions = node.rolePermissions;
905
- if (!rolePermissions || rolePermissions.length === 0) {
906
- // the empty case is carried by the HasNoPermissions attribute
907
- return;
908
- }
909
- xw.startElement("RolePermissions");
910
- for (const rolePermission of rolePermissions) {
911
- xw.startElement("RolePermission");
912
- xw.writeAttribute("Permissions", rolePermission.permissions.toString());
913
- xw.text(n(xw, rolePermission.roleId));
914
- xw.endElement();
915
- }
916
- xw.endElement();
917
- }
918
-
919
- function dumpCommonElements(xw: XmlWriter, node: BaseNode) {
920
- _dumpDisplayName(xw, node);
921
- _dumpDescription(xw, node);
922
- _dumpReferences(xw, node);
923
- _dumpRolePermissions(xw, node);
924
- }
925
-
926
- function coerceInt64ToInt32(int64: Int64): number {
927
- if (typeof int64 === "number") {
928
- return int64 as number;
929
- }
930
- if (int64[0] === 0xffffffff && int64[1] === 0xffffffff) {
931
- return 0xffffffff;
932
- }
933
- if (int64[0] !== 0) {
934
- warningLog("coerceInt64ToInt32 , loosing high word in conversion");
935
- }
936
- return int64[1];
937
- }
938
-
939
- function _dumpEnumDefinition(xw: XmlWriter, enumDefinition: EnumDefinition) {
940
- enumDefinition.fields = enumDefinition.fields || [];
941
-
942
- for (const defItem of enumDefinition.fields) {
943
- xw.startElement("Field");
944
- xw.writeAttribute("Name", defItem.name as string);
945
- if (!isNullOrUndefined(defItem.value)) {
946
- xw.writeAttribute("Value", coerceInt64ToInt32(defItem.value));
947
- }
948
- _dumpDescription(xw, defItem);
949
- xw.endElement();
950
- }
951
- }
952
- function _dumpStructureDefinition(
953
- xw: XmlWriter,
954
- structureDefinition: StructureDefinition,
955
- baseStructureDefinition: StructureDefinition | null | undefined
956
- ) {
957
- /*
958
- * note: baseDataType and defaultEncodingId are implicit and not stored in the XML file ??
959
- *
960
- */
961
- // const baseDataType = structureDefinition.baseDataType;
962
- // const defaultEncodingId = structureDefinition.defaultEncodingId;
963
-
964
- // do not repeat elements that are already defined in base structure in the xml ouput!
965
- const fields = structureDefinition.fields || [];
966
- const nbFieldsInBase: number = baseStructureDefinition ? baseStructureDefinition.fields?.length || 0 : 0;
967
-
968
- for (let index = nbFieldsInBase; index < fields.length; index++) {
969
- const defItem = fields[index];
970
- xw.startElement("Field");
971
- xw.writeAttribute("Name", defItem.name as string);
972
-
973
- if (defItem.arrayDimensions) {
974
- xw.writeAttribute("ArrayDimensions", defItem.arrayDimensions.map((x) => x.toString()).join(","));
975
- }
976
- if (defItem.valueRank !== undefined && defItem.valueRank !== -1) {
977
- xw.writeAttribute("ValueRank", defItem.valueRank);
978
- }
979
- if (defItem.isOptional /* && defItem.isOptional !== false */) {
980
- xw.writeAttribute("IsOptional", defItem.isOptional.toString());
981
- }
982
- if (defItem.maxStringLength !== undefined && defItem.maxStringLength !== 0) {
983
- xw.writeAttribute("MaxStringLength", defItem.maxStringLength);
984
- }
985
- // todo : SymbolicName ( see AutoId )
986
-
987
- if (defItem.dataType) {
988
- // todo : namespace translation !
989
- xw.writeAttribute("DataType", n(xw, defItem.dataType));
990
- }
991
- _dumpDescription(xw, defItem);
992
- xw.endElement();
993
- }
994
- }
995
-
996
- function _dumpEncoding(xw: XmlWriter, uaEncoding: UAObject) {
997
- const uaDescription = uaEncoding.findReferencesAsObject("HasDescription")[0];
998
- if (uaDescription) {
999
- dumpUAVariable(xw, uaDescription as UAVariable);
1000
- }
1001
- _dumpUAObject(xw, uaEncoding);
1002
- }
1003
- function _dumpEncodings(xw: XmlWriter, uaDataType: UADataType) {
1004
- const encodings = uaDataType.findReferencesExAsObject("HasEncoding", BrowseDirection.Forward);
1005
- for (const uaEncoding of encodings) {
1006
- if (uaEncoding.nodeClass !== NodeClass.Object) {
1007
- continue;
1008
- }
1009
- _dumpEncoding(xw, uaEncoding as UAObject);
1010
- }
1011
- }
1012
- function _dumpUADataTypeDefinition(xw: XmlWriter, uaDataType: UADataType) {
1013
- const uaDataTypeBase = uaDataType.subtypeOfObj;
1014
-
1015
- if (uaDataType.isEnumeration()) {
1016
- xw.startElement("Definition");
1017
- xw.writeAttribute("Name", b(xw, uaDataType.browseName));
1018
- _dumpEnumDefinition(xw, uaDataType.getEnumDefinition());
1019
- xw.endElement();
1020
- return;
1021
- }
1022
-
1023
- if (uaDataType.isStructure()) {
1024
- // in case the namespace is conforming to 1.03 specification the DataTypeDefinition attribute
1025
- // will be not be readable....
1026
-
1027
- const dataValue = uaDataType.readAttribute(SessionContext.defaultContext, AttributeIds.DataTypeDefinition);
1028
-
1029
- const t = true;
1030
- if (t || dataValue.statusCode.isGood()) {
1031
- const definition = uaDataType.getStructureDefinition();
1032
- const baseDefinition = uaDataTypeBase ? uaDataTypeBase.getStructureDefinition() : null;
1033
- xw.startElement("Definition");
1034
- xw.writeAttribute("Name", b(xw, uaDataType.browseName));
1035
- if (definition.structureType === StructureType.Union) {
1036
- xw.writeAttribute("IsUnion", "true");
1037
- }
1038
- _dumpStructureDefinition(xw, definition, baseDefinition);
1039
- xw.endElement();
1040
- }
1041
- return;
1042
- }
1043
- }
1044
-
1045
- function dumpUAView(xw: XmlWriter, node: UAView) {
1046
- _markAsVisited(xw, node);
1047
-
1048
- xw.startElement("UAView");
1049
- xw.writeAttribute("NodeId", n(xw, node.nodeId));
1050
- xw.writeAttribute("BrowseName", b(xw, node.browseName));
1051
-
1052
- dumpCommonElements(xw, node);
1053
-
1054
- xw.endElement();
1055
-
1056
- dumpAggregates(xw, node);
1057
- }
1058
-
1059
- function dumpUADataType(xw: XmlWriter, node: UADataType) {
1060
- _markAsVisited(xw, node);
1061
-
1062
- xw.startElement("UADataType");
1063
- xw.writeAttribute("NodeId", n(xw, node.nodeId));
1064
- xw.writeAttribute("BrowseName", b(xw, node.browseName));
1065
- if (node.symbolicName !== node.browseName.name) {
1066
- xw.writeAttribute("SymbolicName", node.symbolicName);
1067
- }
1068
- if (node.isAbstract) {
1069
- xw.writeAttribute("IsAbstract", node.isAbstract ? "true" : "false");
1070
- }
1071
-
1072
- dumpCommonElements(xw, node);
1073
-
1074
- _dumpUADataTypeDefinition(xw, node);
1075
-
1076
- xw.endElement();
1077
-
1078
- _dumpEncodings(xw, node);
1079
-
1080
- dumpAggregates(xw, node);
1081
- }
1082
-
1083
- function _markAsVisited(xw: XmlWriter, node: BaseNode) {
1084
- xw.visitedNode = xw.visitedNode || new Set();
1085
- assert(!xw.visitedNode.has(_hash(node)));
1086
- xw.visitedNode.add(_hash(node));
1087
- }
1088
-
1089
- function dumpUAVariable(xw: XmlWriter, node: UAVariable) {
1090
- assert(node.nodeClass === NodeClass.Variable);
1091
- if (xw.visitedNode.has(_hash(node))) {
1092
- return;
1093
- }
1094
- _markAsVisited(xw, node);
1095
-
1096
- dumpReferencedNodes(xw, node, false);
1097
-
1098
- const addressSpace = node.addressSpace;
1099
-
1100
- xw.startElement("UAVariable");
1101
- {
1102
- // attributes
1103
- dumpCommonAttributes(xw, node);
1104
-
1105
- if (node.valueRank !== -1) {
1106
- // -1 = Scalar
1107
- xw.writeAttribute("ValueRank", node.valueRank);
1108
- }
1109
-
1110
- _dumpArrayDimensionsAttribute(xw, node);
1111
-
1112
- const dataTypeNode = addressSpace.findNode(node.dataType);
1113
- if (dataTypeNode) {
1114
- // verify that data Type is in alias
1115
- // xx const dataTypeName = dataTypeNode.browseName.toString();
1116
- const dataTypeName = b(xw, resolveDataTypeName(addressSpace, dataTypeNode.nodeId));
1117
- xw.writeAttribute("DataType", dataTypeName);
1118
- }
1119
- }
1120
- {
1121
- // sub elements
1122
- dumpCommonElements(xw, node);
1123
-
1124
- const value = (node as UAVariableImpl).$dataValue.value;
1125
- if (value) {
1126
- _dumpValue(xw, node, value);
1127
- }
1128
- }
1129
- xw.endElement();
1130
-
1131
- dumpAggregates(xw, node);
1132
- }
1133
-
1134
- function dumpUAVariableType(xw: XmlWriter, node: UAVariableType) {
1135
- assert(node.nodeClass === NodeClass.VariableType);
1136
- xw.visitedNode = xw.visitedNode || new Set();
1137
- assert(!xw.visitedNode.has(_hash(node)));
1138
- xw.visitedNode.add(_hash(node));
1139
-
1140
- dumpReferencedNodes(xw, node, false);
1141
-
1142
- const addressSpace = node.addressSpace;
1143
-
1144
- xw.startElement("UAVariableType");
1145
-
1146
- {
1147
- // attributes
1148
- dumpCommonAttributes(xw, node);
1149
-
1150
- if (node.valueRank !== -1) {
1151
- xw.writeAttribute("ValueRank", node.valueRank);
1152
- }
1153
- const dataTypeNode = addressSpace.findNode(node.dataType);
1154
- if (!dataTypeNode) {
1155
- // throw new Error(" cannot find datatype " + node.dataType);
1156
- // c8 ignore next
1157
- doDebug &&
1158
- debugLog(
1159
- " cannot find datatype " +
1160
- node.dataType +
1161
- " for node " +
1162
- node.browseName.toString() +
1163
- " id =" +
1164
- node.nodeId.toString()
1165
- );
1166
- } else {
1167
- const dataTypeName = b(xw, resolveDataTypeName(addressSpace, dataTypeNode.nodeId));
1168
- xw.writeAttribute("DataType", dataTypeName);
1169
- }
1170
- }
1171
- {
1172
- _dumpArrayDimensionsAttribute(xw, node);
1173
-
1174
- // sub elements
1175
- dumpCommonElements(xw, node);
1176
-
1177
- const value = (node as UAVariableTypeImpl).value as Variant;
1178
- if (value) {
1179
- _dumpValue(xw, node, value);
1180
- }
1181
- }
1182
-
1183
- xw.endElement();
1184
-
1185
- dumpAggregates(xw, node);
1186
- }
1187
-
1188
- function dumpUAObject(xw: XmlWriter, node: UAObject) {
1189
- xw.writeComment(`Object - ${b(xw, node.browseName)} {{{{ `);
1190
- _dumpUAObject(xw, node);
1191
- xw.writeComment(`Object - ${b(xw, node.browseName)} }}}} `);
1192
- }
1193
-
1194
- function _dumpUAObject(xw: XmlWriter, node: UAObject) {
1195
- assert(node.nodeClass === NodeClass.Object);
1196
- xw.visitedNode = xw.visitedNode || new Set();
1197
- assert(!xw.visitedNode.has(_hash(node)));
1198
- xw.visitedNode.add(_hash(node));
1199
-
1200
- // dump SubTypeOf and HasTypeDefinition
1201
- dumpReferencedNodes(xw, node, false);
1202
-
1203
- xw.startElement("UAObject");
1204
- dumpCommonAttributes(xw, node);
1205
- dumpCommonElements(xw, node);
1206
- xw.endElement();
1207
-
1208
- // dump aggregates nodes ( Properties / components )
1209
-
1210
- dumpAggregates(xw, node);
1211
-
1212
- dumpElementInFolder(xw, node as UAObjectImpl);
1213
- }
1214
- function dumpElementInFolder(xw: XmlWriter, node: BaseNodeImpl) {
1215
- const aggregates = node
1216
- .getFolderElements()
1217
- .sort((x: BaseNode, y: BaseNode) =>
1218
- (x?.browseName.name?.toString() || 0) > (y?.browseName.name?.toString() || 0) ? 1 : -1
1219
- );
1220
- for (const aggregate of aggregates.sort(sortByNodeId)) {
1221
- // do not export node that do not belong to our namespace
1222
- if (node.nodeId.namespace !== aggregate.nodeId.namespace) {
1223
- return;
1224
- }
1225
-
1226
- if (!xw.visitedNode.has(_hash(aggregate))) {
1227
- aggregate.dumpXML(xw);
1228
- }
1229
- }
1230
- }
1231
-
1232
- function dumpAggregates(xw: XmlWriter, node: BaseNode) {
1233
- // Xx xw.writeComment("Aggregates {{ ");
1234
- const aggregates = node.getAggregates().sort(sortByBrowseName);
1235
- // const aggregates = node.findReferencesExAsObject("Aggregates", BrowseDirection.Forward);
1236
-
1237
- for (const aggregate of aggregates.sort(sortByNodeId)) {
1238
- // do not export node that do not belong to our namespace
1239
- if (node.nodeId.namespace !== aggregate.nodeId.namespace) {
1240
- continue;
1241
- }
1242
- // even further! we should export here the children
1243
- // that have been added later by a namespace with higher index
1244
- if (_hasHigherPriorityThan(xw, aggregate.nodeId.namespace, node.nodeId.namespace)) {
1245
- continue;
1246
- }
1247
- if (!xw.visitedNode.has(_hash(aggregate))) {
1248
- (<BaseNodeImpl>aggregate).dumpXML(xw);
1249
- }
1250
- }
1251
- // Xx xw.writeComment("Aggregates }} ");
1252
- }
1253
-
1254
- function dumpUAObjectType(xw: XmlWriter, node: UAObjectTypeImpl) {
1255
- assert(node.nodeClass === NodeClass.ObjectType);
1256
- assert(node instanceof UAObjectTypeImpl);
1257
- xw.writeComment(`ObjectType - ${b(xw, node.browseName)} {{{{ `);
1258
- _markAsVisited(xw, node);
1259
-
1260
- // dump SubtypeOf and HasTypeDefinition node if part of the same namespace
1261
- dumpReferencedNodes(xw, node, false);
1262
-
1263
- xw.startElement("UAObjectType");
1264
- dumpCommonAttributes(xw, node);
1265
- dumpCommonElements(xw, node);
1266
- xw.endElement();
1267
-
1268
- dumpAggregates(xw, node);
1269
-
1270
- xw.writeComment(`ObjectType - ${b(xw, node.browseName)} }}}}`);
1271
- }
1272
-
1273
- function dumpUAMethod(xw: XmlWriter, node: UAMethod) {
1274
- assert(node.nodeClass === NodeClass.Method);
1275
- _markAsVisited(xw, node);
1276
-
1277
- dumpReferencedNodes(xw, node, false);
1278
-
1279
- xw.startElement("UAMethod");
1280
- dumpCommonAttributes(xw, node);
1281
- if (node.methodDeclarationId) {
1282
- xw.writeAttribute("MethodDeclarationId", n(xw, node.methodDeclarationId));
1283
- }
1284
- dumpCommonElements(xw, node);
1285
- xw.endElement();
1286
-
1287
- dumpAggregates(xw, node);
1288
- }
1289
- function resolveDataTypeName(addressSpace: IAddressSpace, dataType: string | NodeId): QualifiedName {
1290
- let dataTypeNode = null;
1291
- // c8 ignore next
1292
- if (typeof dataType === "string") {
1293
- dataTypeNode = addressSpace.findDataType(dataType);
1294
- } else {
1295
- assert(dataType instanceof NodeId);
1296
- const o = addressSpace.findNode(dataType.toString());
1297
- dataTypeNode = o ? o : null;
1298
- }
1299
- if (!dataTypeNode) {
1300
- errorLog(`resolveDataTypeName: warning cannot find DataType ${dataType.toString()}`);
1301
- return new QualifiedName({ name: "", namespaceIndex: 0 });
1302
- }
1303
- return dataTypeNode.browseName;
1304
- }
1305
-
1306
- function buildUpAliases(node: BaseNode, xw: XmlWriter, data: BuildAliasesData) {
1307
- const addressSpace = node.addressSpace;
1308
-
1309
- if (!data.aliases_visited) data.aliases_visited = new Set();
1310
-
1311
- const k = _hash(node);
1312
- // c8 ignore next
1313
- if (data.aliases_visited.has(k)) {
1314
- return;
1315
- }
1316
- data.aliases_visited.add(k);
1317
-
1318
- // put datatype into aliases list
1319
- if (node.nodeClass === NodeClass.Variable || node.nodeClass === NodeClass.VariableType) {
1320
- const nodeV = node as UAVariableType | UAVariable;
1321
-
1322
- if (nodeV.dataType && nodeV.dataType.namespace === 0 && nodeV.dataType.value !== 0) {
1323
- // name
1324
- const dataTypeName = b(xw, resolveDataTypeName(addressSpace, nodeV.dataType));
1325
- if (dataTypeName) {
1326
- if (!data.aliases[dataTypeName]) {
1327
- data.aliases[dataTypeName] = n(xw, nodeV.dataType);
1328
- }
1329
- }
1330
- }
1331
-
1332
- if (nodeV.dataType && nodeV.dataType.namespace !== 0 && nodeV.dataType.value !== 0) {
1333
- // name
1334
- const dataTypeName = b(xw, resolveDataTypeName(addressSpace, nodeV.dataType));
1335
- if (dataTypeName) {
1336
- if (!data.aliases[dataTypeName]) {
1337
- data.aliases[dataTypeName] = n(xw, nodeV.dataType);
1338
- }
1339
- }
1340
- }
1341
- }
1342
-
1343
- function collectReferenceNameInAlias(reference: UAReference) {
1344
- // reference.referenceType
1345
- const key = b(xw, getReferenceType(reference).browseName);
1346
- if (!data.aliases.key) {
1347
- if (reference.referenceType.namespace === 0) {
1348
- data.aliases[key] = reference.referenceType.toString().replace("ns=0;", "");
1349
- } else {
1350
- data.aliases[key] = n(xw, reference.referenceType);
1351
- }
1352
- }
1353
- }
1354
-
1355
- node.allReferences().forEach(collectReferenceNameInAlias);
1356
- }
1357
-
1358
- function writeAliases(xw: XmlWriter, aliases: Record<string, NodeIdString>) {
1359
- xw.startElement("Aliases");
1360
-
1361
- if (aliases) {
1362
- const keys = Object.keys(aliases).sort();
1363
- for (const key of keys) {
1364
- xw.startElement("Alias");
1365
- xw.writeAttribute("Alias", key);
1366
- xw.text(aliases[key].toString().replace(/ns=0;/, ""));
1367
- xw.endElement();
1368
- }
1369
- }
1370
- xw.endElement();
1371
- }
1372
-
1373
- function dumpReferenceType(xw: XmlWriter, referenceType: UAReferenceType) {
1374
- _markAsVisited(xw, referenceType);
1375
-
1376
- xw.startElement("UAReferenceType");
1377
-
1378
- dumpCommonAttributes(xw, referenceType);
1379
-
1380
- const isSymmetric = !referenceType.inverseName || referenceType.inverseName?.text === referenceType.browseName?.name;
1381
- if (isSymmetric) {
1382
- xw.writeAttribute("Symmetric", "true");
1383
- }
1384
-
1385
- dumpCommonElements(xw, referenceType);
1386
-
1387
- if (!isSymmetric) {
1388
- xw.startElement("InverseName");
1389
- xw.text(referenceType.inverseName?.text || "");
1390
- xw.endElement();
1391
- }
1392
-
1393
- xw.endElement();
1394
- }
1395
-
1396
- export function sortByBrowseName(x: BaseNode, y: BaseNode): number {
1397
- const x_str = x.browseName.toString();
1398
- const y_str = y.browseName.toString();
1399
- if (x_str > y_str) {
1400
- return -1;
1401
- } else if (x_str < y_str) {
1402
- return 1;
1403
- }
1404
- return 0;
1405
- }
1406
- function sortByNodeId(a: { nodeId: NodeId }, b: { nodeId: NodeId }) {
1407
- return a.nodeId.toString() < b.nodeId.toString() ? -1 : 1;
1408
- }
1409
-
1410
- interface Dumpable {
1411
- dumpXML(xw: typeof XMLWriter): void;
1412
- }
1413
- type NodeIdString = string;
1414
-
1415
- export interface BuildAliasesData {
1416
- aliases: Record<string, NodeIdString>;
1417
- aliases_visited?: Set<string>;
1418
- }
1419
- interface DumpData extends BuildAliasesData {
1420
- elements: Dumpable[];
1421
- index_el: Record<string, number>;
1422
- }
1423
-
1424
- export type DumpXMLOptions = Record<string, never>;
1425
-
1426
- UAMethodImpl.prototype.dumpXML = function (xw) {
1427
- dumpUAMethod(xw, this);
1428
- };
1429
-
1430
- UAObjectImpl.prototype.dumpXML = function (xw) {
1431
- dumpUAObject(xw, this);
1432
- };
1433
- UAVariableImpl.prototype.dumpXML = function (xw: XmlWriter) {
1434
- dumpUAVariable(xw, this);
1435
- };
1436
- UAVariableTypeImpl.prototype.dumpXML = function (xw) {
1437
- dumpUAVariableType(xw, this);
1438
- };
1439
- UAReferenceTypeImpl.prototype.dumpXML = function (xw: XmlWriter) {
1440
- dumpReferenceType(xw, this);
1441
- };
1442
- UAObjectTypeImpl.prototype.dumpXML = function (xw) {
1443
- dumpUAObjectType(xw, this);
1444
- };
1445
- UADataTypeImpl.prototype.dumpXML = function (xw: XmlWriter) {
1446
- dumpUADataType(xw, this);
1447
- };
1448
-
1449
- UAViewImpl.prototype.dumpXML = function (xw: XmlWriter) {
1450
- dumpUAView(xw, this);
1451
- };
1452
-
1453
- function makeTypeXsd(namespaceUri: string): string {
1454
- return `${namespaceUri.replace(/\/$/, "")}/Type.xsd`;
1455
- }
1456
-
1457
- NamespaceImpl.prototype.toNodeset2XML = function (this: NamespaceImpl) {
1458
- const namespaceArrayNode = this.addressSpace.findNode(VariableIds.Server_NamespaceArray);
1459
- const namespaceArray: string[] = namespaceArrayNode
1460
- ? namespaceArrayNode.readAttribute(null, AttributeIds.Value).value.value
1461
- : [];
1462
-
1463
- const xw: XmlWriter = new XMLWriter(true);
1464
-
1465
- xw.priorityTable = constructNamespacePriorityTable(this.addressSpace).priorityTable;
1466
-
1467
- const dependency = constructNamespaceDependency(this, xw.priorityTable);
1468
- const translationTable = _constructNamespaceTranslationTable(dependency, this);
1469
- xw.translationTable = translationTable;
1470
-
1471
- xw.startDocument({ encoding: "utf-8", version: "1.0" });
1472
- xw.startElement("UANodeSet");
1473
-
1474
- xw.writeAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
1475
- xw.writeAttribute("xmlns:uax", "http://opcfoundation.org/UA/2008/02/Types.xsd");
1476
- xw.writeAttribute("xmlns", "http://opcfoundation.org/UA/2011/03/UANodeSet.xsd");
1477
-
1478
- const namespacesMap: Record<string, string> = {
1479
- "http://opcfoundation.org/UA/2011/03/UANodeSet.xsd": "",
1480
- "http://opcfoundation.org/UA/2008/02/Types.xsd": "uax",
1481
- "http://www.w3.org/2001/XMLSchema-instance": "xsi"
1482
- };
1483
-
1484
- for (const namespace of dependency) {
1485
- if (namespace.index === 0) {
1486
- continue;
1487
- }
1488
- const translatedIndex = translationTable.get(namespace.index);
1489
-
1490
- const smallName = `ns${translatedIndex}`;
1491
- xw.writeAttribute(`xmlns:${smallName}`, makeTypeXsd(namespace.namespaceUri));
1492
- namespacesMap[namespace.namespaceUri] = smallName;
1493
- }
1494
- // xx xw.writeAttribute("Version", "1.02");
1495
- // xx xw.writeAttribute("LastModified", (new Date()).toISOString());
1496
-
1497
- // ------------- INamespace Uris
1498
- initXmlWriterEx(xw, namespacesMap, namespaceArray);
1499
-
1500
- xw.startElement("NamespaceUris");
1501
-
1502
- // let's sort the dependencies in the same order as the translation table
1503
- const sortedDependencies = dependency.sort((a, b) =>
1504
- (translationTable.get(a.index) ?? 0) > (translationTable.get(b.index) ?? 0) ? 1 : -1
1505
- );
1506
-
1507
- doDebug && debugLog(sortedDependencies.map((a) => `${a.index} + ${a.namespaceUri}`).join("\n"));
1508
- doDebug && debugLog("translation table ", translationTable.entries());
1509
-
1510
- for (const depend of sortedDependencies) {
1511
- if (depend.index === 0) {
1512
- continue; // ignore namespace 0
1513
- }
1514
- xw.startElement("Uri");
1515
- xw.text(depend.namespaceUri);
1516
- xw.endElement();
1517
- }
1518
- xw.endElement();
1519
-
1520
- // ------------- INamespace Uris
1521
- xw.startElement("Models");
1522
- xw.startElement("Model");
1523
- xw.writeAttribute("ModelUri", this.namespaceUri);
1524
- xw.writeAttribute("Version", this.version);
1525
- xw.writeAttribute("PublicationDate", this.publicationDate.toISOString());
1526
- for (const depend of sortedDependencies) {
1527
- if (depend.index === this.index) {
1528
- continue; // ignore our namespace 0
1529
- }
1530
- xw.startElement("RequiredModel");
1531
- xw.writeAttribute("ModelUri", depend.namespaceUri);
1532
- xw.writeAttribute("Version", depend.version);
1533
- xw.writeAttribute("PublicationDate", depend.publicationDate.toISOString());
1534
- xw.endElement();
1535
- }
1536
- xw.endElement();
1537
- xw.endElement();
1538
-
1539
- const data: BuildAliasesData = { aliases: {} };
1540
- for (const node of this.nodeIterator()) {
1541
- buildUpAliases(node, xw, data);
1542
- }
1543
- writeAliases(xw, data.aliases);
1544
-
1545
- xw.visitedNode = new Set();
1546
-
1547
- // -------------- writeReferences
1548
- xw.writeComment("ReferenceTypes");
1549
- const referenceTypes = [...this._referenceTypeIterator()].sort(sortByBrowseName);
1550
- for (const referenceType of referenceTypes) {
1551
- dumpReferenceType(xw, referenceType);
1552
- }
1553
-
1554
- // -------------- Dictionaries
1555
- const addressSpace = this.addressSpace;
1556
-
1557
- const getDataTypeDescription = (opcBinaryTypeSystem: UAObject) => {
1558
- const nodeToBrowse = new BrowseDescription({
1559
- browseDirection: BrowseDirection.Forward,
1560
- includeSubtypes: false,
1561
- nodeClassMask: makeNodeClassMask("Variable"),
1562
- nodeId: opcBinaryTypeSystem.nodeId,
1563
- referenceTypeId: resolveNodeId("HasComponent"),
1564
- resultMask: makeResultMask("ReferenceType | IsForward | BrowseName | NodeClass | TypeDefinition")
1565
- });
1566
- const result = opcBinaryTypeSystem.browseNode(nodeToBrowse).filter((r) => r.nodeId.namespace === this.index);
1567
- assert(result.length <= 1);
1568
- return result;
1569
- };
1570
-
1571
- // -------------- DataTypes
1572
- const dataTypes = [...this._dataTypeIterator()].sort(sortByBrowseName);
1573
- if (dataTypes.length) {
1574
- xw.writeComment("DataTypes");
1575
- // xx xw.writeComment(" "+ objectTypes.map(x=>x.browseName.name.toString()).join(" "));
1576
- for (const dataType of dataTypes.sort(sortByNodeId)) {
1577
- if (!xw.visitedNode.has(_hash(dataType))) {
1578
- dumpNodeInXml(xw, dataType);
1579
- }
1580
- }
1581
-
1582
- // --------------
1583
- const opcBinaryTypeSystem = addressSpace.findNode(ObjectIds.OPCBinarySchema_TypeSystem) as UAObject;
1584
- const opcXmlSchemaTypeSystem = addressSpace.findNode(ObjectIds.XmlSchema_TypeSystem) as UAObject;
1585
-
1586
- if (opcBinaryTypeSystem) {
1587
- // let find all DataType dictionary node corresponding to a given namespace
1588
- // (have DataTypeDictionaryType)
1589
- const result = getDataTypeDescription(opcBinaryTypeSystem);
1590
- if (result.length === 1) {
1591
- xw.writeComment("DataSystem - Binary");
1592
- const dataSystemType = addressSpace.findNode(result[0].nodeId) as UAVariable | null;
1593
- if (dataSystemType) {
1594
- const types = dataSystemType.getComponents();
1595
- for (const f of types) {
1596
- dumpNodeInXml(xw, f);
1597
- }
1598
- dumpNodeInXml(xw, dataSystemType);
1599
- }
1600
- }
1601
- }
1602
-
1603
- if (opcXmlSchemaTypeSystem) {
1604
- const result = getDataTypeDescription(opcXmlSchemaTypeSystem);
1605
- if (result.length === 1) {
1606
- xw.writeComment("DataSystem - Xml");
1607
- const dataSystemType = addressSpace.findNode(result[0].nodeId) as UAVariable | null;
1608
- if (dataSystemType) {
1609
- const types = dataSystemType.getComponents();
1610
- for (const f of types) {
1611
- dumpNodeInXml(xw, f);
1612
- }
1613
-
1614
- dumpNodeInXml(xw, dataSystemType);
1615
- }
1616
- }
1617
- }
1618
- }
1619
-
1620
- // -------------- ObjectTypes
1621
- xw.writeComment("ObjectTypes");
1622
- const objectTypes = [...this._objectTypeIterator()].sort(sortByBrowseName);
1623
- // xx xw.writeComment(" "+ objectTypes.map(x=>x.browseName.name.toString()).join(" "));
1624
- for (const objectType of objectTypes.sort(sortByNodeId)) {
1625
- if (!xw.visitedNode.has(_hash(objectType))) {
1626
- dumpNodeInXml(xw, objectType);
1627
- }
1628
- }
1629
-
1630
- // -------------- VariableTypes
1631
- xw.writeComment("VariableTypes");
1632
- const variableTypes = [...this._variableTypeIterator()].sort(sortByBrowseName);
1633
- // xx xw.writeComment("ObjectTypes "+ variableTypes.map(x=>x.browseName.name.toString()).join(" "));
1634
- for (const variableType of variableTypes.sort(sortByNodeId)) {
1635
- if (!xw.visitedNode.has(_hash(variableType))) {
1636
- dumpNodeInXml(xw, variableType);
1637
- }
1638
- }
1639
-
1640
- // -------------- Any thing else
1641
- xw.writeComment("Other Nodes");
1642
- const nodes = [...this.nodeIterator()].sort(sortByBrowseName);
1643
- for (const node of nodes.sort(sortByNodeId)) {
1644
- if (!xw.visitedNode.has(_hash(node))) {
1645
- dumpNodeInXml(xw, node);
1646
- }
1647
- }
1648
-
1649
- xw.endElement();
1650
- xw.endDocument();
1651
- return xw.toString();
1652
- };