node-opcua-address-space 2.179.0 → 2.181.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1085) 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 +524 -0
  231. package/dist/api/session_context.js.map +1 -0
  232. package/dist/api/set_namespace_meta_data.js.map +1 -0
  233. package/dist/api/ua_addin.js.map +1 -0
  234. package/dist/api/ua_interface.js +25 -0
  235. package/dist/api/ua_interface.js.map +1 -0
  236. package/dist/api/ua_root_folder.js.map +1 -0
  237. package/dist/api/ua_two_state_variable_ex.d.ts +24 -0
  238. package/dist/api/ua_two_state_variable_ex.js.map +1 -0
  239. package/dist/api/xml_writer.js.map +1 -0
  240. package/dist/impl/_instantiate_helpers.js +99 -0
  241. package/dist/impl/_instantiate_helpers.js.map +1 -0
  242. package/dist/impl/_mandatory_child_or_requested_optional_filter.js +82 -0
  243. package/dist/impl/_mandatory_child_or_requested_optional_filter.js.map +1 -0
  244. package/dist/impl/address_space.d.ts +379 -0
  245. package/dist/impl/address_space.js +1383 -0
  246. package/dist/impl/address_space.js.map +1 -0
  247. package/dist/impl/address_space_change_event_tools.d.ts +6 -0
  248. package/dist/impl/address_space_change_event_tools.js.map +1 -0
  249. package/dist/impl/address_space_private.d.ts +48 -0
  250. package/dist/impl/address_space_private.js.map +1 -0
  251. package/dist/impl/alarms_and_conditions/condition.js.map +1 -0
  252. package/dist/impl/alarms_and_conditions/condition_info_impl.d.ts +19 -0
  253. package/dist/impl/alarms_and_conditions/condition_info_impl.js +39 -0
  254. package/dist/impl/alarms_and_conditions/condition_info_impl.js.map +1 -0
  255. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.d.ts +271 -0
  256. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js +700 -0
  257. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js.map +1 -0
  258. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.d.ts +12 -0
  259. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js +66 -0
  260. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js.map +1 -0
  261. package/dist/impl/alarms_and_conditions/index.d.ts +16 -0
  262. package/dist/impl/alarms_and_conditions/index.js +33 -0
  263. package/dist/impl/alarms_and_conditions/index.js.map +1 -0
  264. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +54 -0
  265. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -0
  266. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -0
  267. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.d.ts +105 -0
  268. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js +428 -0
  269. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -0
  270. package/dist/impl/alarms_and_conditions/ua_base_event_impl.d.ts +36 -0
  271. package/dist/impl/alarms_and_conditions/ua_base_event_impl.js +32 -0
  272. package/dist/impl/alarms_and_conditions/ua_base_event_impl.js.map +1 -0
  273. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +47 -0
  274. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +204 -0
  275. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -0
  276. package/dist/impl/alarms_and_conditions/ua_condition_impl.d.ts +152 -0
  277. package/dist/impl/alarms_and_conditions/ua_condition_impl.js +1016 -0
  278. package/dist/impl/alarms_and_conditions/ua_condition_impl.js.map +1 -0
  279. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +22 -0
  280. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js +41 -0
  281. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -0
  282. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +30 -0
  283. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +54 -0
  284. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -0
  285. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +12 -0
  286. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +13 -0
  287. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -0
  288. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +28 -0
  289. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -0
  290. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -0
  291. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -0
  292. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +8 -0
  293. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -0
  294. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.d.ts +49 -0
  295. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js +207 -0
  296. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -0
  297. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -0
  298. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +54 -0
  299. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -0
  300. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +38 -0
  301. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +172 -0
  302. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -0
  303. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +44 -0
  304. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js +164 -0
  305. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -0
  306. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -0
  307. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +18 -0
  308. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -0
  309. package/dist/impl/apply_condition_refresh.d.ts +4 -0
  310. package/dist/impl/apply_condition_refresh.js +29 -0
  311. package/dist/impl/apply_condition_refresh.js.map +1 -0
  312. package/dist/impl/base_node_impl.d.ts +347 -0
  313. package/dist/impl/base_node_impl.js +1768 -0
  314. package/dist/impl/base_node_impl.js.map +1 -0
  315. package/dist/impl/base_node_private.d.ts +138 -0
  316. package/dist/impl/base_node_private.js +1028 -0
  317. package/dist/impl/base_node_private.js.map +1 -0
  318. package/dist/impl/check_value_rank_compatibility.js.map +1 -0
  319. package/dist/impl/child_accessors.d.ts +43 -0
  320. package/dist/impl/child_accessors.js +222 -0
  321. package/dist/impl/child_accessors.js.map +1 -0
  322. package/dist/impl/data_access/add_dataItem_stuff.js.map +1 -0
  323. package/dist/impl/data_access/adjust_datavalue_status_code.d.ts +7 -0
  324. package/dist/impl/data_access/adjust_datavalue_status_code.js.map +1 -0
  325. package/dist/impl/data_access/ua_multistate_discrete_impl.d.ts +38 -0
  326. package/dist/impl/data_access/ua_multistate_discrete_impl.js +143 -0
  327. package/dist/impl/data_access/ua_multistate_discrete_impl.js.map +1 -0
  328. package/dist/impl/data_access/ua_multistate_value_discrete_impl.d.ts +61 -0
  329. package/dist/impl/data_access/ua_multistate_value_discrete_impl.js +303 -0
  330. package/dist/impl/data_access/ua_multistate_value_discrete_impl.js.map +1 -0
  331. package/dist/impl/data_access/ua_two_state_discrete_impl.d.ts +30 -0
  332. package/dist/impl/data_access/ua_two_state_discrete_impl.js +164 -0
  333. package/dist/impl/data_access/ua_two_state_discrete_impl.js.map +1 -0
  334. package/dist/impl/event_data.d.ts +27 -0
  335. package/dist/impl/event_data.js +73 -0
  336. package/dist/impl/event_data.js.map +1 -0
  337. package/dist/impl/event_layout.d.ts +40 -0
  338. package/dist/impl/event_layout.js +103 -0
  339. package/dist/impl/event_layout.js.map +1 -0
  340. package/dist/impl/extension_object_array_node.d.ts +41 -0
  341. package/dist/impl/extension_object_array_node.js +274 -0
  342. package/dist/impl/extension_object_array_node.js.map +1 -0
  343. package/dist/impl/get_basic_datatype.js.map +1 -0
  344. package/dist/impl/handle_hierarchy_parent.d.ts +33 -0
  345. package/dist/impl/handle_hierarchy_parent.js +103 -0
  346. package/dist/impl/handle_hierarchy_parent.js.map +1 -0
  347. package/dist/impl/historical_access/address_space_historical_data_node.d.ts +21 -0
  348. package/dist/impl/historical_access/address_space_historical_data_node.js +658 -0
  349. package/dist/impl/historical_access/address_space_historical_data_node.js.map +1 -0
  350. package/dist/impl/historizer_factory.d.ts +18 -0
  351. package/dist/impl/historizer_factory.js +16 -0
  352. package/dist/impl/historizer_factory.js.map +1 -0
  353. package/dist/impl/idx_iterator.js.map +1 -0
  354. package/dist/impl/namespace_impl.d.ts +469 -0
  355. package/dist/impl/namespace_impl.js +1845 -0
  356. package/dist/impl/namespace_impl.js.map +1 -0
  357. package/dist/impl/namespace_private.d.ts +25 -0
  358. package/dist/impl/namespace_private.js.map +1 -0
  359. package/dist/impl/nodeid_manager.js +249 -0
  360. package/dist/impl/nodeid_manager.js.map +1 -0
  361. package/dist/impl/nodeset_tools/adjust_namespace_array.js.map +1 -0
  362. package/dist/impl/nodeset_tools/construct_namespace_dependency.d.ts +37 -0
  363. package/dist/impl/nodeset_tools/construct_namespace_dependency.js +352 -0
  364. package/dist/impl/nodeset_tools/construct_namespace_dependency.js.map +1 -0
  365. package/dist/impl/nodeset_tools/dump_to_bsd.d.ts +10 -0
  366. package/dist/impl/nodeset_tools/dump_to_bsd.js +176 -0
  367. package/dist/impl/nodeset_tools/dump_to_bsd.js.map +1 -0
  368. package/dist/impl/nodeset_tools/nodeset_to_records.d.ts +67 -0
  369. package/dist/impl/nodeset_tools/nodeset_to_records.js +773 -0
  370. package/dist/impl/nodeset_tools/nodeset_to_records.js.map +1 -0
  371. package/dist/impl/nodeset_tools/nodeset_to_xml.d.ts +28 -0
  372. package/dist/impl/nodeset_tools/nodeset_to_xml.js +1132 -0
  373. package/dist/impl/nodeset_tools/nodeset_to_xml.js.map +1 -0
  374. package/dist/impl/private_namespace.d.ts +5 -0
  375. package/dist/impl/private_namespace.js.map +1 -0
  376. package/dist/impl/reference_impl.d.ts +82 -0
  377. package/dist/impl/reference_impl.js +207 -0
  378. package/dist/impl/reference_impl.js.map +1 -0
  379. package/dist/impl/reference_type_version.d.ts +22 -0
  380. package/dist/impl/reference_type_version.js +22 -0
  381. package/dist/impl/reference_type_version.js.map +1 -0
  382. package/dist/impl/role_permissions.js.map +1 -0
  383. package/dist/impl/state_machine/finite_state_machine.d.ts +81 -0
  384. package/dist/impl/state_machine/finite_state_machine.js +573 -0
  385. package/dist/impl/state_machine/finite_state_machine.js.map +1 -0
  386. package/dist/impl/state_machine/ua_shelving_state_machine_ex.d.ts +64 -0
  387. package/dist/impl/state_machine/ua_shelving_state_machine_ex.js +249 -0
  388. package/dist/impl/state_machine/ua_shelving_state_machine_ex.js.map +1 -0
  389. package/dist/impl/state_machine/ua_two_state_variable.d.ts +55 -0
  390. package/dist/impl/state_machine/ua_two_state_variable.js +323 -0
  391. package/dist/impl/state_machine/ua_two_state_variable.js.map +1 -0
  392. package/dist/impl/tool_isSubtypeOf.d.ts +18 -0
  393. package/dist/impl/tool_isSubtypeOf.js +138 -0
  394. package/dist/impl/tool_isSubtypeOf.js.map +1 -0
  395. package/dist/impl/ua_condition_type.js.map +1 -0
  396. package/dist/impl/ua_data_type_impl.d.ts +87 -0
  397. package/dist/impl/ua_data_type_impl.js +391 -0
  398. package/dist/impl/ua_data_type_impl.js.map +1 -0
  399. package/dist/impl/ua_method_impl.d.ts +48 -0
  400. package/dist/impl/ua_method_impl.js +281 -0
  401. package/dist/impl/ua_method_impl.js.map +1 -0
  402. package/dist/impl/ua_object_impl.d.ts +38 -0
  403. package/dist/impl/ua_object_impl.js +214 -0
  404. package/dist/impl/ua_object_impl.js.map +1 -0
  405. package/dist/impl/ua_object_type_impl.d.ts +55 -0
  406. package/dist/impl/ua_object_type_impl.js +131 -0
  407. package/dist/impl/ua_object_type_impl.js.map +1 -0
  408. package/dist/impl/ua_reference_type_impl.d.ts +42 -0
  409. package/dist/impl/ua_reference_type_impl.js +157 -0
  410. package/dist/impl/ua_reference_type_impl.js.map +1 -0
  411. package/dist/impl/ua_variable_impl.d.ts +391 -0
  412. package/dist/impl/ua_variable_impl.js +2001 -0
  413. package/dist/impl/ua_variable_impl.js.map +1 -0
  414. package/dist/impl/ua_variable_impl_ext_obj.d.ts +23 -0
  415. package/dist/impl/ua_variable_impl_ext_obj.js +753 -0
  416. package/dist/impl/ua_variable_impl_ext_obj.js.map +1 -0
  417. package/dist/impl/ua_variable_type_impl.d.ts +79 -0
  418. package/dist/impl/ua_variable_type_impl.js +279 -0
  419. package/dist/impl/ua_variable_type_impl.js.map +1 -0
  420. package/dist/impl/ua_view_impl.d.ts +18 -0
  421. package/dist/impl/ua_view_impl.js +45 -0
  422. package/dist/impl/ua_view_impl.js.map +1 -0
  423. package/dist/impl/validate_data_type_correctness.d.ts +6 -0
  424. package/dist/impl/validate_data_type_correctness.js +123 -0
  425. package/dist/impl/validate_data_type_correctness.js.map +1 -0
  426. package/dist/tsconfig_base.tsbuildinfo +1 -1
  427. package/distHelpers/address_space_digest.d.ts +4 -0
  428. package/distHelpers/address_space_digest.js +9 -0
  429. package/distHelpers/address_space_digest.js.map +1 -0
  430. package/distHelpers/alarms_and_conditions_demo.d.ts +1 -1
  431. package/distHelpers/assertHasMatchingReference.d.ts +1 -1
  432. package/distHelpers/boiler_system.d.ts +1 -1
  433. package/distHelpers/boiler_system.js +3 -3
  434. package/distHelpers/boiler_system.js.map +1 -1
  435. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +1 -1
  436. package/distHelpers/get_address_space_fixture.js +38 -22
  437. package/distHelpers/get_address_space_fixture.js.map +1 -1
  438. package/distHelpers/get_mini_address_space.d.ts +1 -1
  439. package/distHelpers/get_mini_address_space.js +7 -7
  440. package/distHelpers/get_mini_address_space.js.map +1 -1
  441. package/distHelpers/index.d.ts +9 -9
  442. package/distHelpers/index.js +9 -9
  443. package/distHelpers/index.js.map +1 -1
  444. package/distHelpers/mock_session.d.ts +1 -1
  445. package/distHelpers/mock_session.js +2 -2
  446. package/distHelpers/mock_session.js.map +1 -1
  447. package/distNodeJS/address_space_digest.d.ts +13 -0
  448. package/distNodeJS/address_space_digest.js +31 -0
  449. package/distNodeJS/address_space_digest.js.map +1 -0
  450. package/distNodeJS/generate_address_space.d.ts +35 -2
  451. package/distNodeJS/generate_address_space.js +201 -7
  452. package/distNodeJS/generate_address_space.js.map +1 -1
  453. package/distNodeJS/index.d.ts +3 -1
  454. package/distNodeJS/index.js +3 -1
  455. package/distNodeJS/index.js.map +1 -1
  456. package/distNodeJS/nodeset_image_file_store.d.ts +29 -0
  457. package/distNodeJS/nodeset_image_file_store.js +120 -0
  458. package/distNodeJS/nodeset_image_file_store.js.map +1 -0
  459. package/impl/_instantiate_helpers.ts +197 -0
  460. package/impl/_mandatory_child_or_requested_optional_filter.ts +100 -0
  461. package/impl/address_space.ts +1572 -0
  462. package/impl/address_space_change_event_tools.ts +177 -0
  463. package/impl/address_space_private.ts +100 -0
  464. package/impl/alarms_and_conditions/condition_info_impl.ts +45 -0
  465. package/impl/alarms_and_conditions/condition_snapshot_impl.ts +793 -0
  466. package/impl/alarms_and_conditions/deviation_alarm_helper.ts +73 -0
  467. package/impl/alarms_and_conditions/index.ts +16 -0
  468. package/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +351 -0
  469. package/impl/alarms_and_conditions/ua_alarm_condition_impl.ts +515 -0
  470. package/impl/alarms_and_conditions/ua_base_event_impl.ts +61 -0
  471. package/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +246 -0
  472. package/impl/alarms_and_conditions/ua_condition_impl.ts +1286 -0
  473. package/impl/alarms_and_conditions/ua_discrete_alarm_impl.ts +60 -0
  474. package/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +95 -0
  475. package/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +21 -0
  476. package/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +112 -0
  477. package/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +25 -0
  478. package/impl/alarms_and_conditions/ua_limit_alarm_impl.ts +265 -0
  479. package/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +94 -0
  480. package/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +232 -0
  481. package/impl/alarms_and_conditions/ua_off_normal_alarm_impl.ts +216 -0
  482. package/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +26 -0
  483. package/impl/apply_condition_refresh.ts +56 -0
  484. package/impl/base_node_impl.ts +2165 -0
  485. package/impl/base_node_private.ts +1420 -0
  486. package/impl/child_accessors.ts +239 -0
  487. package/impl/data_access/adjust_datavalue_status_code.ts +36 -0
  488. package/impl/data_access/ua_multistate_discrete_impl.ts +198 -0
  489. package/impl/data_access/ua_multistate_value_discrete_impl.ts +384 -0
  490. package/impl/data_access/ua_two_state_discrete_impl.ts +195 -0
  491. package/impl/event_data.ts +80 -0
  492. package/impl/event_layout.ts +141 -0
  493. package/impl/extension_object_array_node.ts +343 -0
  494. package/impl/handle_hierarchy_parent.ts +133 -0
  495. package/impl/historical_access/address_space_historical_data_node.ts +849 -0
  496. package/impl/historizer_factory.ts +17 -0
  497. package/impl/namespace_impl.ts +2323 -0
  498. package/impl/namespace_private.ts +68 -0
  499. package/impl/nodeid_manager.ts +293 -0
  500. package/impl/nodeset_tools/construct_namespace_dependency.ts +381 -0
  501. package/impl/nodeset_tools/dump_to_bsd.ts +210 -0
  502. package/impl/nodeset_tools/nodeset_to_records.ts +846 -0
  503. package/impl/nodeset_tools/nodeset_to_xml.ts +1326 -0
  504. package/impl/private_namespace.ts +21 -0
  505. package/impl/reference_impl.ts +244 -0
  506. package/impl/reference_type_version.ts +19 -0
  507. package/impl/state_machine/finite_state_machine.ts +676 -0
  508. package/impl/state_machine/ua_shelving_state_machine_ex.ts +356 -0
  509. package/impl/state_machine/ua_two_state_variable.ts +421 -0
  510. package/impl/tool_isSubtypeOf.ts +168 -0
  511. package/impl/ua_data_type_impl.ts +486 -0
  512. package/impl/ua_method_impl.ts +364 -0
  513. package/impl/ua_object_impl.ts +278 -0
  514. package/impl/ua_object_type_impl.ts +179 -0
  515. package/impl/ua_reference_type_impl.ts +179 -0
  516. package/impl/ua_variable_impl.ts +2559 -0
  517. package/impl/ua_variable_impl_ext_obj.ts +904 -0
  518. package/impl/ua_variable_type_impl.ts +390 -0
  519. package/impl/ua_view_impl.ts +53 -0
  520. package/impl/validate_data_type_correctness.ts +142 -0
  521. package/package.json +49 -44
  522. package/source_nodejs/address_space_digest.ts +35 -0
  523. package/source_nodejs/generate_address_space.ts +181 -8
  524. package/source_nodejs/index.ts +3 -1
  525. package/source_nodejs/nodeset_image_file_store.ts +127 -0
  526. package/dist/source/address_space_ts.d.ts +0 -128
  527. package/dist/source/address_space_ts.js +0 -23
  528. package/dist/source/address_space_ts.js.map +0 -1
  529. package/dist/source/continuation_points/continuation_point_manager.js +0 -230
  530. package/dist/source/continuation_points/continuation_point_manager.js.map +0 -1
  531. package/dist/source/helpers/adjust_browse_direction.js.map +0 -1
  532. package/dist/source/helpers/argument_list.js +0 -263
  533. package/dist/source/helpers/argument_list.js.map +0 -1
  534. package/dist/source/helpers/call_helpers.js +0 -80
  535. package/dist/source/helpers/call_helpers.js.map +0 -1
  536. package/dist/source/helpers/coerce_enum_value.d.ts +0 -6
  537. package/dist/source/helpers/coerce_enum_value.js.map +0 -1
  538. package/dist/source/helpers/dump_tools.js +0 -81
  539. package/dist/source/helpers/dump_tools.js.map +0 -1
  540. package/dist/source/helpers/ensure_secure_access.d.ts +0 -9
  541. package/dist/source/helpers/ensure_secure_access.js +0 -58
  542. package/dist/source/helpers/ensure_secure_access.js.map +0 -1
  543. package/dist/source/helpers/make_optionals_map.js.map +0 -1
  544. package/dist/source/helpers/multiform_func.js +0 -75
  545. package/dist/source/helpers/multiform_func.js.map +0 -1
  546. package/dist/source/helpers/resolve_opaque_on_address_space.js +0 -25
  547. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +0 -1
  548. package/dist/source/index.d.ts +0 -66
  549. package/dist/source/index.js +0 -97
  550. package/dist/source/index.js.map +0 -1
  551. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +0 -21
  552. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +0 -3
  553. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +0 -1
  554. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +0 -150
  555. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +0 -1
  556. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +0 -12
  557. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js.map +0 -1
  558. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js.map +0 -1
  559. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +0 -7
  560. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +0 -1
  561. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +0 -1
  562. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +0 -4
  563. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +0 -1
  564. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +0 -4
  565. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +0 -1
  566. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +0 -10
  567. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +0 -1
  568. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +0 -4
  569. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +0 -1
  570. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +0 -4
  571. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +0 -1
  572. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +0 -20
  573. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +0 -1
  574. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +0 -21
  575. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +0 -1
  576. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +0 -33
  577. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +0 -1
  578. package/dist/source/interfaces/alarms_and_conditions/ua_base_event_ex.js.map +0 -1
  579. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +0 -19
  580. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +0 -1
  581. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +0 -44
  582. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js.map +0 -1
  583. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +0 -4
  584. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +0 -1
  585. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +0 -5
  586. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +0 -1
  587. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +0 -19
  588. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +0 -1
  589. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +0 -25
  590. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +0 -1
  591. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +0 -8
  592. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +0 -1
  593. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +0 -10
  594. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +0 -1
  595. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +0 -44
  596. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +0 -1
  597. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +0 -22
  598. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +0 -1
  599. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +0 -13
  600. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +0 -1
  601. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +0 -1
  602. package/dist/source/interfaces/extension_object_constructor.js.map +0 -1
  603. package/dist/source/interfaces/i_condition_variable_type_setter_options.js.map +0 -1
  604. package/dist/source/interfaces/i_set_state_options.js.map +0 -1
  605. package/dist/source/interfaces/nodeset_loader_options.d.ts +0 -37
  606. package/dist/source/interfaces/nodeset_loader_options.js.map +0 -1
  607. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +0 -12
  608. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +0 -1
  609. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +0 -49
  610. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +0 -1
  611. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +0 -11
  612. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +0 -1
  613. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +0 -29
  614. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +0 -1
  615. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +0 -236
  616. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +0 -1
  617. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +0 -1
  618. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +0 -1
  619. package/dist/source/loader/decode_xml_extension_object.d.ts +0 -6
  620. package/dist/source/loader/decode_xml_extension_object.js +0 -69
  621. package/dist/source/loader/decode_xml_extension_object.js.map +0 -1
  622. package/dist/source/loader/ensure_datatype_extracted.js +0 -88
  623. package/dist/source/loader/ensure_datatype_extracted.js.map +0 -1
  624. package/dist/source/loader/generateAddressSpaceRaw.d.ts +0 -29
  625. package/dist/source/loader/generateAddressSpaceRaw.js +0 -188
  626. package/dist/source/loader/generateAddressSpaceRaw.js.map +0 -1
  627. package/dist/source/loader/load_nodeset2.d.ts +0 -15
  628. package/dist/source/loader/load_nodeset2.js +0 -1047
  629. package/dist/source/loader/load_nodeset2.js.map +0 -1
  630. package/dist/source/loader/make_semver_compatible.js.map +0 -1
  631. package/dist/source/loader/make_xml_extension_object_parser.js +0 -422
  632. package/dist/source/loader/make_xml_extension_object_parser.js.map +0 -1
  633. package/dist/source/loader/namespace_post_step.js +0 -57
  634. package/dist/source/loader/namespace_post_step.js.map +0 -1
  635. package/dist/source/loader/parsers/extension_object_parser.js +0 -274
  636. package/dist/source/loader/parsers/extension_object_parser.js.map +0 -1
  637. package/dist/source/loader/parsers/localized_text_parser.js.map +0 -1
  638. package/dist/source/loader/parsers/nodeid_parser.js.map +0 -1
  639. package/dist/source/loader/parsers/qualified_name_parser.js.map +0 -1
  640. package/dist/source/loader/parsers/variant_parser.d.ts +0 -35
  641. package/dist/source/loader/parsers/variant_parser.js +0 -331
  642. package/dist/source/loader/parsers/variant_parser.js.map +0 -1
  643. package/dist/source/loader/register_node_promoter.d.ts +0 -2
  644. package/dist/source/loader/register_node_promoter.js +0 -9
  645. package/dist/source/loader/register_node_promoter.js.map +0 -1
  646. package/dist/source/namespace.d.ts +0 -6
  647. package/dist/source/namespace.js.map +0 -1
  648. package/dist/source/namespace_alarm_and_condition.d.ts +0 -33
  649. package/dist/source/namespace_alarm_and_condition.js.map +0 -1
  650. package/dist/source/namespace_data_access.d.ts +0 -67
  651. package/dist/source/namespace_data_access.js.map +0 -1
  652. package/dist/source/namespace_machine_state.d.ts +0 -8
  653. package/dist/source/namespace_machine_state.js.map +0 -1
  654. package/dist/source/pseudo_session.d.ts +0 -74
  655. package/dist/source/pseudo_session.js +0 -308
  656. package/dist/source/pseudo_session.js.map +0 -1
  657. package/dist/source/session_context.d.ts +0 -241
  658. package/dist/source/session_context.js +0 -517
  659. package/dist/source/session_context.js.map +0 -1
  660. package/dist/source/set_namespace_meta_data.js.map +0 -1
  661. package/dist/source/ua_addin.js.map +0 -1
  662. package/dist/source/ua_interface.js +0 -25
  663. package/dist/source/ua_interface.js.map +0 -1
  664. package/dist/source/ua_root_folder.js.map +0 -1
  665. package/dist/source/ua_two_state_variable_ex.d.ts +0 -24
  666. package/dist/source/ua_two_state_variable_ex.js.map +0 -1
  667. package/dist/source/xml_writer.js.map +0 -1
  668. package/dist/src/_instantiate_helpers.js +0 -99
  669. package/dist/src/_instantiate_helpers.js.map +0 -1
  670. package/dist/src/_mandatory_child_or_requested_optional_filter.js +0 -82
  671. package/dist/src/_mandatory_child_or_requested_optional_filter.js.map +0 -1
  672. package/dist/src/address_space.d.ts +0 -369
  673. package/dist/src/address_space.js +0 -1416
  674. package/dist/src/address_space.js.map +0 -1
  675. package/dist/src/address_space_change_event_tools.d.ts +0 -6
  676. package/dist/src/address_space_change_event_tools.js.map +0 -1
  677. package/dist/src/address_space_private.d.ts +0 -45
  678. package/dist/src/address_space_private.js.map +0 -1
  679. package/dist/src/alarms_and_conditions/condition.js.map +0 -1
  680. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +0 -18
  681. package/dist/src/alarms_and_conditions/condition_info_impl.js +0 -38
  682. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +0 -1
  683. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +0 -269
  684. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +0 -699
  685. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +0 -1
  686. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +0 -12
  687. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +0 -66
  688. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +0 -1
  689. package/dist/src/alarms_and_conditions/index.d.ts +0 -16
  690. package/dist/src/alarms_and_conditions/index.js +0 -33
  691. package/dist/src/alarms_and_conditions/index.js.map +0 -1
  692. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +0 -42
  693. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +0 -243
  694. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +0 -1
  695. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +0 -80
  696. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +0 -415
  697. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +0 -1
  698. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +0 -18
  699. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +0 -33
  700. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +0 -1
  701. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +0 -44
  702. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +0 -203
  703. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +0 -1
  704. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +0 -104
  705. package/dist/src/alarms_and_conditions/ua_condition_impl.js +0 -1017
  706. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +0 -1
  707. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +0 -19
  708. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +0 -39
  709. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +0 -1
  710. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +0 -25
  711. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +0 -55
  712. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +0 -1
  713. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +0 -11
  714. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +0 -12
  715. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +0 -1
  716. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +0 -23
  717. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +0 -87
  718. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +0 -1
  719. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +0 -10
  720. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +0 -8
  721. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +0 -1
  722. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +0 -26
  723. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +0 -208
  724. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +0 -1
  725. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +0 -23
  726. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +0 -55
  727. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +0 -1
  728. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +0 -27
  729. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +0 -173
  730. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +0 -1
  731. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +0 -43
  732. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +0 -168
  733. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +0 -1
  734. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +0 -18
  735. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +0 -18
  736. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +0 -1
  737. package/dist/src/apply_condition_refresh.d.ts +0 -4
  738. package/dist/src/apply_condition_refresh.js +0 -27
  739. package/dist/src/apply_condition_refresh.js.map +0 -1
  740. package/dist/src/base_node_impl.d.ts +0 -287
  741. package/dist/src/base_node_impl.js +0 -1538
  742. package/dist/src/base_node_impl.js.map +0 -1
  743. package/dist/src/base_node_private.d.ts +0 -87
  744. package/dist/src/base_node_private.js +0 -925
  745. package/dist/src/base_node_private.js.map +0 -1
  746. package/dist/src/check_value_rank_compatibility.js.map +0 -1
  747. package/dist/src/data_access/add_dataItem_stuff.js.map +0 -1
  748. package/dist/src/data_access/adjust_datavalue_status_code.d.ts +0 -7
  749. package/dist/src/data_access/adjust_datavalue_status_code.js.map +0 -1
  750. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +0 -35
  751. package/dist/src/data_access/ua_multistate_discrete_impl.js +0 -142
  752. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +0 -1
  753. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +0 -51
  754. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +0 -302
  755. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +0 -1
  756. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +0 -20
  757. package/dist/src/data_access/ua_two_state_discrete_impl.js +0 -163
  758. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +0 -1
  759. package/dist/src/event_data.d.ts +0 -18
  760. package/dist/src/event_data.js +0 -70
  761. package/dist/src/event_data.js.map +0 -1
  762. package/dist/src/extension_object_array_node.d.ts +0 -34
  763. package/dist/src/extension_object_array_node.js +0 -262
  764. package/dist/src/extension_object_array_node.js.map +0 -1
  765. package/dist/src/get_basic_datatype.js.map +0 -1
  766. package/dist/src/historical_access/address_space_historical_data_node.d.ts +0 -21
  767. package/dist/src/historical_access/address_space_historical_data_node.js +0 -654
  768. package/dist/src/historical_access/address_space_historical_data_node.js.map +0 -1
  769. package/dist/src/idx_iterator.js.map +0 -1
  770. package/dist/src/index_current.d.ts +0 -50
  771. package/dist/src/index_current.js +0 -82
  772. package/dist/src/index_current.js.map +0 -1
  773. package/dist/src/namespace_impl.d.ts +0 -450
  774. package/dist/src/namespace_impl.js +0 -1876
  775. package/dist/src/namespace_impl.js.map +0 -1
  776. package/dist/src/namespace_private.d.ts +0 -31
  777. package/dist/src/namespace_private.js.map +0 -1
  778. package/dist/src/nodeid_manager.js +0 -249
  779. package/dist/src/nodeid_manager.js.map +0 -1
  780. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +0 -1
  781. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +0 -33
  782. package/dist/src/nodeset_tools/construct_namespace_dependency.js +0 -347
  783. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +0 -1
  784. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +0 -2
  785. package/dist/src/nodeset_tools/dump_to_bsd.js +0 -164
  786. package/dist/src/nodeset_tools/dump_to_bsd.js.map +0 -1
  787. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +0 -12
  788. package/dist/src/nodeset_tools/nodeset_to_xml.js +0 -1381
  789. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +0 -1
  790. package/dist/src/private_namespace.d.ts +0 -5
  791. package/dist/src/private_namespace.js.map +0 -1
  792. package/dist/src/reference_impl.d.ts +0 -43
  793. package/dist/src/reference_impl.js +0 -152
  794. package/dist/src/reference_impl.js.map +0 -1
  795. package/dist/src/role_permissions.js.map +0 -1
  796. package/dist/src/state_machine/finite_state_machine.d.ts +0 -70
  797. package/dist/src/state_machine/finite_state_machine.js +0 -574
  798. package/dist/src/state_machine/finite_state_machine.js.map +0 -1
  799. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +0 -39
  800. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +0 -249
  801. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +0 -1
  802. package/dist/src/state_machine/ua_two_state_variable.d.ts +0 -55
  803. package/dist/src/state_machine/ua_two_state_variable.js +0 -323
  804. package/dist/src/state_machine/ua_two_state_variable.js.map +0 -1
  805. package/dist/src/tool_isSubtypeOf.d.ts +0 -18
  806. package/dist/src/tool_isSubtypeOf.js +0 -130
  807. package/dist/src/tool_isSubtypeOf.js.map +0 -1
  808. package/dist/src/ua_condition_type.js.map +0 -1
  809. package/dist/src/ua_data_type_impl.d.ts +0 -87
  810. package/dist/src/ua_data_type_impl.js +0 -393
  811. package/dist/src/ua_data_type_impl.js.map +0 -1
  812. package/dist/src/ua_method_impl.d.ts +0 -48
  813. package/dist/src/ua_method_impl.js +0 -280
  814. package/dist/src/ua_method_impl.js.map +0 -1
  815. package/dist/src/ua_object_impl.d.ts +0 -38
  816. package/dist/src/ua_object_impl.js +0 -214
  817. package/dist/src/ua_object_impl.js.map +0 -1
  818. package/dist/src/ua_object_type_impl.d.ts +0 -55
  819. package/dist/src/ua_object_type_impl.js +0 -131
  820. package/dist/src/ua_object_type_impl.js.map +0 -1
  821. package/dist/src/ua_reference_type_impl.d.ts +0 -42
  822. package/dist/src/ua_reference_type_impl.js +0 -146
  823. package/dist/src/ua_reference_type_impl.js.map +0 -1
  824. package/dist/src/ua_variable_impl.d.ts +0 -379
  825. package/dist/src/ua_variable_impl.js +0 -1940
  826. package/dist/src/ua_variable_impl.js.map +0 -1
  827. package/dist/src/ua_variable_impl_ext_obj.d.ts +0 -23
  828. package/dist/src/ua_variable_impl_ext_obj.js +0 -752
  829. package/dist/src/ua_variable_impl_ext_obj.js.map +0 -1
  830. package/dist/src/ua_variable_type_impl.d.ts +0 -79
  831. package/dist/src/ua_variable_type_impl.js +0 -276
  832. package/dist/src/ua_variable_type_impl.js.map +0 -1
  833. package/dist/src/ua_view_impl.d.ts +0 -18
  834. package/dist/src/ua_view_impl.js +0 -45
  835. package/dist/src/ua_view_impl.js.map +0 -1
  836. package/dist/src/validate_data_type_correctness.d.ts +0 -6
  837. package/dist/src/validate_data_type_correctness.js +0 -106
  838. package/dist/src/validate_data_type_correctness.js.map +0 -1
  839. package/source/address_space_ts.ts +0 -220
  840. package/source/continuation_points/continuation_point_manager.ts +0 -271
  841. package/source/helpers/argument_list.ts +0 -310
  842. package/source/helpers/call_helpers.ts +0 -100
  843. package/source/helpers/coerce_enum_value.ts +0 -33
  844. package/source/helpers/dump_tools.ts +0 -90
  845. package/source/helpers/ensure_secure_access.ts +0 -57
  846. package/source/helpers/multiform_func.ts +0 -78
  847. package/source/helpers/resolve_opaque_on_address_space.ts +0 -26
  848. package/source/index.ts +0 -72
  849. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +0 -24
  850. package/source/interfaces/alarms_and_conditions/condition_snapshot.ts +0 -235
  851. package/source/interfaces/alarms_and_conditions/deviation_stuff.ts +0 -16
  852. package/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +0 -8
  853. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.ts +0 -6
  854. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +0 -6
  855. package/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +0 -13
  856. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.ts +0 -6
  857. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.ts +0 -6
  858. package/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +0 -21
  859. package/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +0 -28
  860. package/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +0 -43
  861. package/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +0 -36
  862. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +0 -55
  863. package/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +0 -17
  864. package/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +0 -21
  865. package/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +0 -21
  866. package/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +0 -26
  867. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +0 -29
  868. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +0 -25
  869. package/source/interfaces/data_access/ua_multistate_discrete_ex.ts +0 -57
  870. package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +0 -31
  871. package/source/interfaces/data_access/ua_two_state_discrete_ex.ts +0 -15
  872. package/source/interfaces/nodeset_loader_options.ts +0 -38
  873. package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +0 -20
  874. package/source/interfaces/state_machine/ua_finite_state_machine_type.ts +0 -50
  875. package/source/interfaces/state_machine/ua_program_state_machine_type.ts +0 -14
  876. package/source/interfaces/state_machine/ua_shelved_state_machine_ex.ts +0 -35
  877. package/source/interfaces/state_machine/ua_state_machine_type.ts +0 -288
  878. package/source/loader/decode_xml_extension_object.ts +0 -80
  879. package/source/loader/ensure_datatype_extracted.ts +0 -122
  880. package/source/loader/generateAddressSpaceRaw.ts +0 -219
  881. package/source/loader/load_nodeset2.ts +0 -1275
  882. package/source/loader/make_xml_extension_object_parser.ts +0 -524
  883. package/source/loader/namespace_post_step.ts +0 -68
  884. package/source/loader/parsers/extension_object_parser.ts +0 -374
  885. package/source/loader/parsers/variant_parser.ts +0 -433
  886. package/source/loader/register_node_promoter.ts +0 -6
  887. package/source/namespace.ts +0 -7
  888. package/source/namespace_alarm_and_condition.ts +0 -78
  889. package/source/namespace_data_access.ts +0 -92
  890. package/source/namespace_machine_state.ts +0 -20
  891. package/source/pseudo_session.ts +0 -415
  892. package/source/session_context.ts +0 -717
  893. package/source/ua_interface.ts +0 -38
  894. package/source/ua_two_state_variable_ex.ts +0 -36
  895. package/src/_instantiate_helpers.ts +0 -197
  896. package/src/_mandatory_child_or_requested_optional_filter.ts +0 -100
  897. package/src/address_space.ts +0 -1631
  898. package/src/address_space_change_event_tools.ts +0 -177
  899. package/src/address_space_private.ts +0 -96
  900. package/src/alarms_and_conditions/condition_info_impl.ts +0 -44
  901. package/src/alarms_and_conditions/condition_snapshot_impl.ts +0 -792
  902. package/src/alarms_and_conditions/deviation_alarm_helper.ts +0 -73
  903. package/src/alarms_and_conditions/index.ts +0 -16
  904. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +0 -331
  905. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +0 -479
  906. package/src/alarms_and_conditions/ua_base_event_impl.ts +0 -42
  907. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +0 -244
  908. package/src/alarms_and_conditions/ua_condition_impl.ts +0 -1261
  909. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +0 -57
  910. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +0 -94
  911. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +0 -20
  912. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +0 -109
  913. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +0 -25
  914. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +0 -244
  915. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +0 -88
  916. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +0 -223
  917. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +0 -218
  918. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +0 -26
  919. package/src/apply_condition_refresh.ts +0 -29
  920. package/src/base_node_impl.ts +0 -1907
  921. package/src/base_node_private.ts +0 -1287
  922. package/src/data_access/adjust_datavalue_status_code.ts +0 -36
  923. package/src/data_access/ua_multistate_discrete_impl.ts +0 -189
  924. package/src/data_access/ua_multistate_value_discrete_impl.ts +0 -369
  925. package/src/data_access/ua_two_state_discrete_impl.ts +0 -184
  926. package/src/event_data.ts +0 -83
  927. package/src/extension_object_array_node.ts +0 -331
  928. package/src/historical_access/address_space_historical_data_node.ts +0 -842
  929. package/src/index_current.ts +0 -51
  930. package/src/namespace_impl.ts +0 -2380
  931. package/src/namespace_private.ts +0 -77
  932. package/src/nodeid_manager.ts +0 -293
  933. package/src/nodeset_tools/construct_namespace_dependency.ts +0 -375
  934. package/src/nodeset_tools/dump_to_bsd.ts +0 -201
  935. package/src/nodeset_tools/nodeset_to_xml.ts +0 -1652
  936. package/src/private_namespace.ts +0 -21
  937. package/src/reference_impl.ts +0 -171
  938. package/src/state_machine/finite_state_machine.ts +0 -668
  939. package/src/state_machine/ua_shelving_state_machine_ex.ts +0 -330
  940. package/src/state_machine/ua_two_state_variable.ts +0 -421
  941. package/src/tool_isSubtypeOf.ts +0 -160
  942. package/src/ua_data_type_impl.ts +0 -483
  943. package/src/ua_method_impl.ts +0 -362
  944. package/src/ua_object_impl.ts +0 -278
  945. package/src/ua_object_type_impl.ts +0 -179
  946. package/src/ua_reference_type_impl.ts +0 -170
  947. package/src/ua_variable_impl.ts +0 -2489
  948. package/src/ua_variable_impl_ext_obj.ts +0 -903
  949. package/src/ua_variable_type_impl.ts +0 -385
  950. package/src/ua_view_impl.ts +0 -53
  951. package/src/validate_data_type_correctness.ts +0 -124
  952. /package/{source → api}/helpers/adjust_browse_direction.ts +0 -0
  953. /package/{source → api}/helpers/make_optionals_map.ts +0 -0
  954. /package/{source → api}/interfaces/alarms_and_conditions/install_setpoint_options.ts +0 -0
  955. /package/{source → api}/interfaces/alarms_and_conditions/instantiate_condition_options.ts +0 -0
  956. /package/{source → api}/interfaces/alarms_and_conditions/ua_base_event_ex.ts +0 -0
  957. /package/{source → api}/interfaces/data_access/ua_y_array_item_ex.ts +0 -0
  958. /package/{source → api}/interfaces/extension_object_constructor.ts +0 -0
  959. /package/{source → api}/interfaces/i_condition_variable_type_setter_options.ts +0 -0
  960. /package/{source → api}/interfaces/i_set_state_options.ts +0 -0
  961. /package/{source → api}/interfaces/state_machine/ua_transition_ex.ts +0 -0
  962. /package/{source → api}/interfaces/ua_subscription_diagnostics_variable_ex.ts +0 -0
  963. /package/{source → api}/loader/make_semver_compatible.ts +0 -0
  964. /package/{source → api}/loader/parsers/localized_text_parser.ts +0 -0
  965. /package/{source → api}/loader/parsers/nodeid_parser.ts +0 -0
  966. /package/{source → api}/loader/parsers/qualified_name_parser.ts +0 -0
  967. /package/{source → api}/set_namespace_meta_data.ts +0 -0
  968. /package/{source → api}/ua_addin.ts +0 -0
  969. /package/{source → api}/ua_root_folder.ts +0 -0
  970. /package/{source → api}/xml_writer.ts +0 -0
  971. /package/dist/{source → api}/continuation_points/continuation_point_manager.d.ts +0 -0
  972. /package/dist/{source → api}/helpers/adjust_browse_direction.d.ts +0 -0
  973. /package/dist/{source → api}/helpers/adjust_browse_direction.js +0 -0
  974. /package/dist/{source → api}/helpers/argument_list.d.ts +0 -0
  975. /package/dist/{source → api}/helpers/call_helpers.d.ts +0 -0
  976. /package/dist/{source → api}/helpers/coerce_enum_value.js +0 -0
  977. /package/dist/{source → api}/helpers/dump_tools.d.ts +0 -0
  978. /package/dist/{source → api}/helpers/make_optionals_map.d.ts +0 -0
  979. /package/dist/{source → api}/helpers/make_optionals_map.js +0 -0
  980. /package/dist/{source → api}/helpers/multiform_func.d.ts +0 -0
  981. /package/dist/{source → api}/helpers/resolve_opaque_on_address_space.d.ts +0 -0
  982. /package/dist/{source → api}/interfaces/alarms_and_conditions/condition_snapshot.js +0 -0
  983. /package/dist/{source → api}/interfaces/alarms_and_conditions/deviation_stuff.js +0 -0
  984. /package/dist/{source → api}/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +0 -0
  985. /package/dist/{source → api}/interfaces/alarms_and_conditions/install_setpoint_options.js +0 -0
  986. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +0 -0
  987. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +0 -0
  988. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_condition_options.js +0 -0
  989. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +0 -0
  990. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +0 -0
  991. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +0 -0
  992. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +0 -0
  993. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +0 -0
  994. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +0 -0
  995. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +0 -0
  996. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +0 -0
  997. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_base_event_ex.d.ts +0 -0
  998. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_base_event_ex.js +0 -0
  999. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +0 -0
  1000. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_condition_ex.js +0 -0
  1001. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +0 -0
  1002. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +0 -0
  1003. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +0 -0
  1004. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +0 -0
  1005. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +0 -0
  1006. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +0 -0
  1007. /package/dist/{source → api}/interfaces/data_access/ua_multistate_discrete_ex.js +0 -0
  1008. /package/dist/{source → api}/interfaces/data_access/ua_multistate_value_discrete_ex.js +0 -0
  1009. /package/dist/{source → api}/interfaces/data_access/ua_two_state_discrete_ex.js +0 -0
  1010. /package/dist/{source → api}/interfaces/data_access/ua_y_array_item_ex.d.ts +0 -0
  1011. /package/dist/{source → api}/interfaces/data_access/ua_y_array_item_ex.js +0 -0
  1012. /package/dist/{source → api}/interfaces/extension_object_constructor.d.ts +0 -0
  1013. /package/dist/{source → api}/interfaces/extension_object_constructor.js +0 -0
  1014. /package/dist/{source → api}/interfaces/i_condition_variable_type_setter_options.d.ts +0 -0
  1015. /package/dist/{source → api}/interfaces/i_condition_variable_type_setter_options.js +0 -0
  1016. /package/dist/{source → api}/interfaces/i_set_state_options.d.ts +0 -0
  1017. /package/dist/{source → api}/interfaces/i_set_state_options.js +0 -0
  1018. /package/dist/{source → api}/interfaces/nodeset_loader_options.js +0 -0
  1019. /package/dist/{source → api}/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +0 -0
  1020. /package/dist/{source → api}/interfaces/state_machine/ua_finite_state_machine_type.js +0 -0
  1021. /package/dist/{source → api}/interfaces/state_machine/ua_program_state_machine_type.js +0 -0
  1022. /package/dist/{source → api}/interfaces/state_machine/ua_shelved_state_machine_ex.js +0 -0
  1023. /package/dist/{source → api}/interfaces/state_machine/ua_state_machine_type.js +0 -0
  1024. /package/dist/{source → api}/interfaces/state_machine/ua_transition_ex.d.ts +0 -0
  1025. /package/dist/{source → api}/interfaces/state_machine/ua_transition_ex.js +0 -0
  1026. /package/dist/{source → api}/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +0 -0
  1027. /package/dist/{source → api}/interfaces/ua_subscription_diagnostics_variable_ex.js +0 -0
  1028. /package/dist/{source → api}/loader/ensure_datatype_extracted.d.ts +0 -0
  1029. /package/dist/{source → api}/loader/make_semver_compatible.d.ts +0 -0
  1030. /package/dist/{source → api}/loader/make_semver_compatible.js +0 -0
  1031. /package/dist/{source → api}/loader/make_xml_extension_object_parser.d.ts +0 -0
  1032. /package/dist/{source → api}/loader/namespace_post_step.d.ts +0 -0
  1033. /package/dist/{source → api}/loader/parsers/extension_object_parser.d.ts +0 -0
  1034. /package/dist/{source → api}/loader/parsers/localized_text_parser.d.ts +0 -0
  1035. /package/dist/{source → api}/loader/parsers/localized_text_parser.js +0 -0
  1036. /package/dist/{source → api}/loader/parsers/nodeid_parser.d.ts +0 -0
  1037. /package/dist/{source → api}/loader/parsers/nodeid_parser.js +0 -0
  1038. /package/dist/{source → api}/loader/parsers/qualified_name_parser.d.ts +0 -0
  1039. /package/dist/{source → api}/loader/parsers/qualified_name_parser.js +0 -0
  1040. /package/dist/{source → api}/namespace.js +0 -0
  1041. /package/dist/{source → api}/namespace_alarm_and_condition.js +0 -0
  1042. /package/dist/{source → api}/namespace_data_access.js +0 -0
  1043. /package/dist/{source → api}/namespace_machine_state.js +0 -0
  1044. /package/dist/{source → api}/set_namespace_meta_data.d.ts +0 -0
  1045. /package/dist/{source → api}/set_namespace_meta_data.js +0 -0
  1046. /package/dist/{source → api}/ua_addin.d.ts +0 -0
  1047. /package/dist/{source → api}/ua_addin.js +0 -0
  1048. /package/dist/{source → api}/ua_interface.d.ts +0 -0
  1049. /package/dist/{source → api}/ua_root_folder.d.ts +0 -0
  1050. /package/dist/{source → api}/ua_root_folder.js +0 -0
  1051. /package/dist/{source → api}/ua_two_state_variable_ex.js +0 -0
  1052. /package/dist/{source → api}/xml_writer.d.ts +0 -0
  1053. /package/dist/{source → api}/xml_writer.js +0 -0
  1054. /package/dist/{src → impl}/_instantiate_helpers.d.ts +0 -0
  1055. /package/dist/{src → impl}/_mandatory_child_or_requested_optional_filter.d.ts +0 -0
  1056. /package/dist/{src → impl}/address_space_change_event_tools.js +0 -0
  1057. /package/dist/{src → impl}/address_space_private.js +0 -0
  1058. /package/dist/{src → impl}/alarms_and_conditions/condition.d.ts +0 -0
  1059. /package/dist/{src → impl}/alarms_and_conditions/condition.js +0 -0
  1060. /package/dist/{src → impl}/check_value_rank_compatibility.d.ts +0 -0
  1061. /package/dist/{src → impl}/check_value_rank_compatibility.js +0 -0
  1062. /package/dist/{src → impl}/data_access/add_dataItem_stuff.d.ts +0 -0
  1063. /package/dist/{src → impl}/data_access/add_dataItem_stuff.js +0 -0
  1064. /package/dist/{src → impl}/data_access/adjust_datavalue_status_code.js +0 -0
  1065. /package/dist/{src → impl}/get_basic_datatype.d.ts +0 -0
  1066. /package/dist/{src → impl}/get_basic_datatype.js +0 -0
  1067. /package/dist/{src → impl}/idx_iterator.d.ts +0 -0
  1068. /package/dist/{src → impl}/idx_iterator.js +0 -0
  1069. /package/dist/{src → impl}/namespace_private.js +0 -0
  1070. /package/dist/{src → impl}/nodeid_manager.d.ts +0 -0
  1071. /package/dist/{src → impl}/nodeset_tools/adjust_namespace_array.d.ts +0 -0
  1072. /package/dist/{src → impl}/nodeset_tools/adjust_namespace_array.js +0 -0
  1073. /package/dist/{src → impl}/private_namespace.js +0 -0
  1074. /package/dist/{src → impl}/role_permissions.d.ts +0 -0
  1075. /package/dist/{src → impl}/role_permissions.js +0 -0
  1076. /package/dist/{src → impl}/ua_condition_type.d.ts +0 -0
  1077. /package/dist/{src → impl}/ua_condition_type.js +0 -0
  1078. /package/{src → impl}/alarms_and_conditions/condition.ts +0 -0
  1079. /package/{src → impl}/check_value_rank_compatibility.ts +0 -0
  1080. /package/{src → impl}/data_access/add_dataItem_stuff.ts +0 -0
  1081. /package/{src → impl}/get_basic_datatype.ts +0 -0
  1082. /package/{src → impl}/idx_iterator.ts +0 -0
  1083. /package/{src → impl}/nodeset_tools/adjust_namespace_array.ts +0 -0
  1084. /package/{src → impl}/role_permissions.ts +0 -0
  1085. /package/{src → impl}/ua_condition_type.ts +0 -0
@@ -0,0 +1,889 @@
1
+ /**
2
+ * @module node-opcua-address-space
3
+ *
4
+ * The consumer that turns {@link NodesetRecord}s into nodes of an address space: it registers
5
+ * the namespaces the header declares, translates every id from the file's namespace table to
6
+ * the address space's, applies the loader options, creates the node and queues the post-load
7
+ * tasks (values, extension objects, data-type registration) that run once every document is in.
8
+ */
9
+ import type {
10
+ AddReferenceTypeOptions,
11
+ BaseNode,
12
+ CreateNodeOptions,
13
+ IAddressSpace,
14
+ UADataType,
15
+ UAReference,
16
+ UAVariable,
17
+ UAVariableType
18
+ } from "node-opcua-address-space-base";
19
+ import { assert } from "node-opcua-assert";
20
+ import { StatusCodes } from "node-opcua-basic-types";
21
+ import {
22
+ type AccessLevelFlag,
23
+ type AccessRestrictionsFlag,
24
+ coerceLocalizedText,
25
+ makeAccessLevelFlag,
26
+ makeAccessRestrictionsFlag,
27
+ NodeClass,
28
+ QualifiedName
29
+ } from "node-opcua-data-model";
30
+ import { checkDebugFlag, make_debugLog, make_errorLog } from "node-opcua-debug";
31
+ import type { ExtensionObject } from "node-opcua-extension-object";
32
+ import { getBuiltInType } from "node-opcua-factory";
33
+ import { NodeId, resolveNodeId } from "node-opcua-nodeid";
34
+ import { Argument, type RolePermissionTypeOptions } from "node-opcua-types";
35
+ import { DataType, VariantArrayType, type VariantOptions } from "node-opcua-variant";
36
+ import semver from "semver";
37
+ import type { AddressSpacePrivate } from "../../impl/address_space_private.js";
38
+ import type { NamespacePrivate } from "../../impl/namespace_private.js";
39
+ import { isMassivelyUsedReferenceType, ReferenceImpl } from "../../impl/reference_impl.js";
40
+ import type { UAVariableImpl } from "../../impl/ua_variable_impl.js";
41
+ import type { NodeSetLoaderOptions } from "../interfaces/nodeset_loader_options.js";
42
+ import { makeSemverCompatible } from "./make_semver_compatible.js";
43
+ import {
44
+ type NodesetHeaderRecord,
45
+ type NodesetModelRecord,
46
+ type NodesetNodeRecord,
47
+ type NodesetRecord,
48
+ type NodesetRecordConsumer,
49
+ XmlExtensionObjectFragment
50
+ } from "./nodeset_record.js";
51
+ import { createXMLExtensionObjectDecodingTask } from "./parsers/extension_object_parser.js";
52
+
53
+ const doDebug = checkDebugFlag("load_nodeset2");
54
+ const debugLog = make_debugLog("load_nodeset2");
55
+ const errorLog = make_errorLog("load_nodeset2");
56
+
57
+ export type Task = (addressSpace: IAddressSpace) => Promise<void>;
58
+
59
+ /** the work deferred until every document is loaded, in the order it runs */
60
+ export interface LoaderTaskQueues {
61
+ postTasks: Task[];
62
+ postTasks0_InitializeVariable: Task[];
63
+ postTasks0_DecodePojoString: Task[];
64
+ postTasks1_InitializeVariable: Task[];
65
+ postTasks2_AssignedExtensionObjectToDataValue: Task[];
66
+ pendingSimpleTypeToRegister: { name: string; dataTypeNodeId: NodeId }[];
67
+ }
68
+ export function makeLoaderTaskQueues(): LoaderTaskQueues {
69
+ return {
70
+ postTasks: [],
71
+ postTasks0_InitializeVariable: [],
72
+ postTasks0_DecodePojoString: [],
73
+ postTasks1_InitializeVariable: [],
74
+ postTasks2_AssignedExtensionObjectToDataValue: [],
75
+ pendingSimpleTypeToRegister: []
76
+ };
77
+ }
78
+
79
+ function convertAccessLevel(accessLevel?: string | null): AccessLevelFlag {
80
+ const accessLevelN: number = parseInt(accessLevel || "1", 10); // CurrentRead if not specified
81
+ return makeAccessLevelFlag(accessLevelN);
82
+ }
83
+
84
+ /**
85
+ * the XSD gives UserAccessLevel a default of 1, but a nodeset that raises AccessLevel and stays
86
+ * silent on UserAccessLevel means "the user may do whatever the node allows", not "read only".
87
+ * Falling back on accessLevel is what every other stack does and what node-opcua has always done;
88
+ * what changes here is that an *explicit* UserAccessLevel is no longer dropped.
89
+ */
90
+ function convertUserAccessLevel(userAccessLevel: string | null | undefined, accessLevel: AccessLevelFlag): AccessLevelFlag {
91
+ if (userAccessLevel === undefined || userAccessLevel === null || userAccessLevel === "") {
92
+ return accessLevel;
93
+ }
94
+ return convertAccessLevel(userAccessLevel);
95
+ }
96
+
97
+ function convertAccessRestrictions(accessRestrictions?: string | null): AccessRestrictionsFlag | undefined {
98
+ if (accessRestrictions === undefined || accessRestrictions === null || accessRestrictions === "") {
99
+ // undefined is not None: it means "inherit the namespace default"
100
+ return undefined;
101
+ }
102
+ const value = parseInt(accessRestrictions, 10);
103
+ if (Number.isNaN(value)) {
104
+ errorLog("load_nodeset2: ignoring invalid AccessRestrictions attribute", accessRestrictions);
105
+ return undefined;
106
+ }
107
+ return makeAccessRestrictionsFlag(value);
108
+ }
109
+
110
+ function makeDefaultVariant(
111
+ addressSpace: IAddressSpace,
112
+ dataTypeNode: NodeId,
113
+ valueRank: number,
114
+ arrayDimensions?: number[] | null
115
+ ): VariantOptions | undefined {
116
+ let variant: VariantOptions = { dataType: DataType.Null };
117
+
118
+ const nodeDataType = addressSpace.findNode(dataTypeNode) as UADataType;
119
+ if (nodeDataType?.basicDataType) {
120
+ const basicDataType = nodeDataType.basicDataType;
121
+ if (basicDataType === DataType.Variant) {
122
+ /// we don't now what is the variant
123
+ return undefined;
124
+ }
125
+
126
+ if (basicDataType === DataType.ExtensionObject) {
127
+ return { dataType: DataType.ExtensionObject, value: null };
128
+ }
129
+ const builtInType = getBuiltInType(DataType[basicDataType]);
130
+ if (builtInType === undefined || builtInType === null) {
131
+ errorLog("Cannot find builtInType for ", basicDataType);
132
+ return { dataType: DataType.Null };
133
+ }
134
+ const dv = builtInType.defaultValue;
135
+ const value = typeof dv === "function" ? dv() : dv;
136
+
137
+ let arrayType: VariantArrayType;
138
+ /*
139
+ * * n > 1 : the Value is an array with the specified number of dimensions.
140
+ * * OneDimension (1): The value is an array with one dimension.
141
+ * * OneOrMoreDimensions (0): The value is an array with one or more dimensions.
142
+ * * Scalar (-1): The value is not an array.
143
+ * * Any (-2): The value can be a scalar or an array with any number of dimensions.
144
+ * * ScalarOrOneDimension (-3): The value can be a scalar or a one dimensional array.
145
+ */
146
+ switch (valueRank) {
147
+ case -3: // ScalarOrOneDimension (-3):
148
+ case -2: // any
149
+ case -1:
150
+ arrayType = VariantArrayType.Scalar;
151
+ variant = { dataType: basicDataType, value, arrayType };
152
+ break;
153
+ case 0: // one or more dimension
154
+ case 1: // one dimension
155
+ arrayType = VariantArrayType.Array;
156
+ variant = { dataType: basicDataType, value: [], arrayType };
157
+ break;
158
+ default:
159
+ arrayType = VariantArrayType.Matrix;
160
+ variant = { dataType: basicDataType, value: [], arrayType, dimensions: arrayDimensions };
161
+ break;
162
+ }
163
+ }
164
+ return variant;
165
+ }
166
+
167
+ /**
168
+ * a Matrix variant is "uninitialized" when it carries no element (value=[]) but declares
169
+ * non-zero dimensions (e.g. ArrayDimensions="256,128"). Such a variant is internally inconsistent
170
+ * (value.length !== product(dimensions)) and, if serialized, produces a spec-violating wire form.
171
+ */
172
+ function isUninitializedMatrix(value: VariantOptions): boolean {
173
+ if (value.arrayType !== VariantArrayType.Matrix) {
174
+ return false;
175
+ }
176
+ const length = Array.isArray(value.value) ? value.value.length : 0;
177
+ if (length !== 0) {
178
+ return false;
179
+ }
180
+ const dimensions = value.dimensions;
181
+ if (!dimensions || dimensions.length === 0) {
182
+ return false;
183
+ }
184
+ const product = dimensions.reduce((n, p) => n * p, 1);
185
+ return product > 0;
186
+ }
187
+
188
+ const UA_NAMESPACE_URI = "http://opcfoundation.org/UA/";
189
+ const reg = /ns=([0-9]+);(.*)/;
190
+
191
+ interface INodePermissions {
192
+ accessRestrictions?: AccessRestrictionsFlag;
193
+ rolePermissions?: RolePermissionTypeOptions[];
194
+ }
195
+
196
+ /** see NodesetRecordApplier.takePendingBackReferences */
197
+ export interface PendingBackReferences {
198
+ /** nodes whose document said which of their references are one-sided: nothing else to propagate */
199
+ settled: Set<BaseNode>;
200
+ /** the one-sided references, with the node holding each */
201
+ references: Array<[BaseNode, UAReference]>;
202
+ }
203
+
204
+ export class NodesetRecordApplier implements NodesetRecordConsumer {
205
+ /** the back references the load owes, and the nodes it owes nothing else for; see takePendingBackReferences */
206
+ private pending: PendingBackReferences = { settled: new Set(), references: [] };
207
+
208
+ private readonly addressSpace: AddressSpacePrivate;
209
+ private readonly applyRolePermissions: boolean;
210
+ private readonly applyAccessRestrictions: boolean;
211
+
212
+ // per document: the file's namespace table to the address space's, and what was translated
213
+ private table: number[] = [];
214
+ private aliasMap = new Map<string, NodeId>();
215
+ private translatedStrings = new Map<string, NodeId>();
216
+ private translatedIds = new Map<number | string, NodeId>();
217
+ private headerSeen = false;
218
+
219
+ constructor(
220
+ addressSpace: IAddressSpace,
221
+ private readonly options: NodeSetLoaderOptions,
222
+ private readonly queues: LoaderTaskQueues
223
+ ) {
224
+ this.addressSpace = addressSpace as AddressSpacePrivate;
225
+ // two independent switches: who may do what is a property of the model and applies by
226
+ // default, whereas how the channel must be secured is a property of the deployment and
227
+ // is opt-in. See NodeSetLoaderOptions.
228
+ this.applyRolePermissions = (options.permissions ?? "apply") === "apply";
229
+ this.applyAccessRestrictions = (options.accessRestrictions ?? "ignore") === "apply";
230
+ }
231
+
232
+ public apply(record: NodesetRecord): void {
233
+ if (record.kind === "header") {
234
+ this.applyHeader(record);
235
+ return;
236
+ }
237
+ if (!this.headerSeen) {
238
+ throw new Error("NodesetRecordApplier: a node record came before the header record");
239
+ }
240
+ this.applyNode(record);
241
+ }
242
+
243
+ // #region header: namespaces, translation table, aliases
244
+ private applyHeader(header: NodesetHeaderRecord): void {
245
+ this.table = [];
246
+ this.aliasMap.clear();
247
+ this.translatedStrings.clear();
248
+ this.translatedIds.clear();
249
+ this.headerSeen = true;
250
+
251
+ for (const model of header.models) {
252
+ this.addNamespace(model);
253
+ }
254
+ if (header.models.length === 0) {
255
+ // special case for old nodeset file version 1.02 where no models exists
256
+ for (const namespaceUri of header.namespaceUris) {
257
+ if (this.addressSpace.getNamespace(namespaceUri)) {
258
+ continue;
259
+ }
260
+ this.addNamespace({ modelUri: namespaceUri, version: "1.0.0", requiredModels: [] });
261
+ }
262
+ }
263
+ // the file's table: the UA namespace, then the declared URIs in order. A URI that repeats
264
+ // (the UA namespace listed again) takes no slot, as it never did.
265
+ const found = new Set<string>();
266
+ for (const namespaceUri of [UA_NAMESPACE_URI, ...header.namespaceUris]) {
267
+ if (found.has(namespaceUri)) {
268
+ continue;
269
+ }
270
+ found.add(namespaceUri);
271
+ const namespace = this.addressSpace.getNamespace(namespaceUri);
272
+ // c8 ignore next
273
+ if (!namespace) {
274
+ throw new Error(
275
+ `cannot find namespace for ${namespaceUri}\nplease make sure to initialize your address space with the corresponding nodeset files`
276
+ );
277
+ }
278
+ doDebug &&
279
+ debugLog(
280
+ " _register_namespace_uri = ",
281
+ namespaceUri,
282
+ "index in Xml=",
283
+ this.table.length,
284
+ " index in addressSpace",
285
+ namespace.index
286
+ );
287
+ this.table.push(namespace.index);
288
+ }
289
+ for (const [aliasName, fileLocal] of Object.entries(header.aliases)) {
290
+ const nodeId = this.translate(fileLocal);
291
+ this.aliasMap.set(aliasName, nodeId);
292
+ this.addressSpace.getNamespace(nodeId.namespace).addAlias(aliasName, nodeId);
293
+ }
294
+ }
295
+
296
+ private addNamespace(model: NodesetModelRecord): NamespacePrivate {
297
+ const addressSpace = this.addressSpace;
298
+ if (model.requiredModels.length > 0) {
299
+ // check that required models exist already in the address space
300
+ for (const requiredModel of model.requiredModels) {
301
+ const existingNamespace = addressSpace.getNamespace(requiredModel.modelUri);
302
+
303
+ // c8 ignore next
304
+ if (!existingNamespace) {
305
+ errorLog(
306
+ "Please ensure that the required namespace",
307
+ requiredModel.modelUri,
308
+ "is loaded first when loading",
309
+ model.modelUri
310
+ );
311
+ throw new Error(`LoadNodeSet : Cannot find namespace for ${requiredModel.modelUri}`);
312
+ }
313
+ /**
314
+ * from https://reference.opcfoundation.org/Core/docs/Part6/F.2/
315
+ * The version of the model defined in the UANodeSet.
316
+ * This is a human-readable string and not intended for programmatic comparisons.
317
+ */
318
+ const isLowerVersion = (existingVersion: string, requiredVersion: string): boolean => {
319
+ const existingSemver = makeSemverCompatible(existingVersion);
320
+ const requiredSemver = makeSemverCompatible(requiredVersion);
321
+ return semver.lt(existingSemver, requiredSemver);
322
+ };
323
+
324
+ if (isLowerVersion(existingNamespace.version, requiredModel.version)) {
325
+ errorLog(
326
+ "Expecting ",
327
+ requiredModel.modelUri,
328
+ " with version to be at least",
329
+ requiredModel.version,
330
+ " but namespace version is ",
331
+ existingNamespace.version
332
+ );
333
+ }
334
+ if (existingNamespace.publicationDate.getTime() < requiredModel.publicationDate.getTime()) {
335
+ errorLog(
336
+ "Expecting ",
337
+ requiredModel.modelUri,
338
+ " with publicationDate at least ",
339
+ requiredModel.publicationDate.toUTCString(),
340
+ " but namespace publicationDate is ",
341
+ existingNamespace.publicationDate.toUTCString()
342
+ );
343
+ }
344
+ }
345
+ }
346
+
347
+ let namespace: NamespacePrivate;
348
+ // Model must not be already registered
349
+ const existingNamespace = addressSpace.getNamespace(model.modelUri);
350
+ if (existingNamespace) {
351
+ namespace = existingNamespace;
352
+ } else {
353
+ namespace = addressSpace.registerNamespace(model.modelUri);
354
+ namespace.setRequiredModels(model.requiredModels);
355
+ }
356
+
357
+ namespace.version = model.version;
358
+ namespace.publicationDate = model.publicationDate || namespace.publicationDate;
359
+ return namespace;
360
+ }
361
+ // #endregion
362
+
363
+ // #region translation
364
+ private translateNamespaceIndex(fileIndex: number): number {
365
+ const namespaceIndex = this.table[fileIndex];
366
+ // c8 ignore next
367
+ if (namespaceIndex === undefined) {
368
+ errorLog("Error; namespace_uri_translation", this.table);
369
+ throw new Error(`_translateNamespaceIndex() ! Cannot find namespace definition for index ${fileIndex}`);
370
+ }
371
+ return namespaceIndex;
372
+ }
373
+
374
+ /** a file-local id to the address space's, built once per distinct id */
375
+ private translate(fileLocal: NodeId): NodeId {
376
+ const value = fileLocal.value;
377
+ const key =
378
+ typeof value === "number"
379
+ ? fileLocal.namespace * 4294967296 + value
380
+ : `${fileLocal.namespace}|${fileLocal.identifierType}|${String(value)}`;
381
+ let nodeId = this.translatedIds.get(key);
382
+ if (!nodeId) {
383
+ const namespace = this.translateNamespaceIndex(fileLocal.namespace);
384
+ nodeId = namespace === fileLocal.namespace ? fileLocal : new NodeId(fileLocal.identifierType, value, namespace);
385
+ this.translatedIds.set(key, nodeId);
386
+ }
387
+ return nodeId;
388
+ }
389
+ private translateOrNull(fileLocal: NodeId | null | undefined): NodeId | null {
390
+ return fileLocal ? this.translate(fileLocal) : null;
391
+ }
392
+ private translateQualifiedName(fileLocal: QualifiedName): QualifiedName {
393
+ return new QualifiedName({ namespaceIndex: this.translateNamespaceIndex(fileLocal.namespaceIndex), name: fileLocal.name });
394
+ }
395
+
396
+ /**
397
+ * an id given as text, the way the XML body of a deferred extension object carries them:
398
+ * an alias, or `ns=<file index>;...`
399
+ */
400
+ private readonly translateString = (text: string): NodeId => {
401
+ const aliased = this.aliasMap.get(text);
402
+ if (aliased) {
403
+ return aliased;
404
+ }
405
+ const translated = this.translatedStrings.get(text);
406
+ if (translated) {
407
+ return translated;
408
+ }
409
+ let nodeIdString = text;
410
+ const m = text.match(reg);
411
+ if (m) {
412
+ nodeIdString = `ns=${this.translateNamespaceIndex(parseInt(m[1], 10))};${m[2]}`;
413
+ }
414
+ const result = resolveNodeId(nodeIdString);
415
+ this.translatedStrings.set(text, result);
416
+ return result;
417
+ };
418
+
419
+ /**
420
+ * the ids a value may hold, by data type; everything else passes through. A record is not
421
+ * the applier's to change: another consumer may read it after this one, so what is
422
+ * translated is a copy
423
+ */
424
+ private translateValue(value: VariantOptions): VariantOptions {
425
+ const mapValue = (fix: (e: unknown) => unknown): VariantOptions => ({
426
+ ...value,
427
+ value: Array.isArray(value.value) ? value.value.map(fix) : fix(value.value)
428
+ });
429
+ switch (value.dataType) {
430
+ case DataType.NodeId:
431
+ case DataType.ExpandedNodeId:
432
+ return mapValue((e) => (e instanceof NodeId ? this.translate(e) : e));
433
+ case DataType.QualifiedName:
434
+ return mapValue((q) => {
435
+ if (q && typeof q === "object" && typeof (q as QualifiedName).namespaceIndex === "number") {
436
+ return new QualifiedName({
437
+ namespaceIndex: this.translateNamespaceIndex((q as QualifiedName).namespaceIndex),
438
+ name: (q as QualifiedName).name
439
+ });
440
+ }
441
+ return q;
442
+ });
443
+ case DataType.ExtensionObject:
444
+ return mapValue((e) => {
445
+ if (e instanceof Argument && e.dataType instanceof NodeId) {
446
+ const argument = new Argument({});
447
+ argument.name = e.name;
448
+ argument.dataType = this.translate(e.dataType);
449
+ argument.valueRank = e.valueRank;
450
+ argument.arrayDimensions = e.arrayDimensions;
451
+ argument.description = e.description;
452
+ return argument;
453
+ }
454
+ return e;
455
+ });
456
+ default:
457
+ return value;
458
+ }
459
+ }
460
+ // #endregion
461
+
462
+ // #region nodes
463
+ private canIgnore(record: NodesetNodeRecord): boolean {
464
+ if (record.releaseStatus === "Draft" && !this.options.loadDraftNodes) {
465
+ // c8 ignore next
466
+ doDebug && debugLog("Ignoring Draft =", NodeClass[record.nodeClass], record.browseName.toString());
467
+ return true;
468
+ }
469
+ if (record.releaseStatus === "Deprecated" && !this.options.loadDeprecatedNodes) {
470
+ // c8 ignore next
471
+ doDebug && debugLog("Ignoring Deprecate =", NodeClass[record.nodeClass], record.browseName.toString());
472
+ return true;
473
+ }
474
+ return false;
475
+ }
476
+
477
+ private permissions(record: NodesetNodeRecord): INodePermissions {
478
+ let rolePermissions: RolePermissionTypeOptions[] | undefined;
479
+ if (this.applyRolePermissions) {
480
+ if (record.rolePermissions) {
481
+ rolePermissions = record.rolePermissions.map((r) => ({
482
+ roleId: this.translate(r.roleId),
483
+ permissions: r.permissions
484
+ }));
485
+ } else if (record.hasNoPermissions) {
486
+ // HasNoPermissions="true" is not the same as an absent <RolePermissions>: the former
487
+ // grants nothing at all, the latter inherits the namespace default. An empty array
488
+ // is how BaseNode distinguishes the two.
489
+ rolePermissions = [];
490
+ }
491
+ }
492
+ return {
493
+ accessRestrictions: this.applyAccessRestrictions ? convertAccessRestrictions(record.accessRestrictions) : undefined,
494
+ rolePermissions
495
+ };
496
+ }
497
+
498
+ private common(record: NodesetNodeRecord) {
499
+ return {
500
+ nodeClass: record.nodeClass,
501
+ nodeId: record.nodeId.isEmpty() ? null : this.translate(record.nodeId),
502
+ browseName: this.translateQualifiedName(record.browseName),
503
+ references: this.references(record),
504
+ ...this.permissions(record)
505
+ };
506
+ }
507
+
508
+ /** the node's references as the node will hold them, one per reference of the record, in its order */
509
+ private references(record: NodesetNodeRecord): UAReference[] {
510
+ return record.references.map(
511
+ (r) =>
512
+ new ReferenceImpl({
513
+ isForward: r.isForward,
514
+ nodeId: this.translate(r.nodeId),
515
+ referenceType: this.translate(r.referenceType)
516
+ })
517
+ );
518
+ }
519
+
520
+ /**
521
+ * what the end of the load must do about the inverses of a node's references: a reference the
522
+ * document marks as not declared from the other end is kept for one propagation, and the node
523
+ * is settled; a node whose references carry no such information is left to the end-of-load
524
+ * sweep, which propagates it whole. `references` are those built by {@link references} from
525
+ * the same record, in the same order.
526
+ */
527
+ private settle(node: BaseNode, record: NodesetNodeRecord, references: UAReference[]): void {
528
+ const pending: UAReference[] = [];
529
+ for (let i = 0; i < references.length; i++) {
530
+ const declared = record.references[i].inverseDeclared;
531
+ if (declared === undefined) {
532
+ return;
533
+ }
534
+ if (!declared && !isMassivelyUsedReferenceType(references[i].referenceType)) {
535
+ pending.push(references[i]);
536
+ }
537
+ }
538
+ this.pending.settled.add(node);
539
+ for (const reference of pending) {
540
+ this.pending.references.push([node, reference]);
541
+ }
542
+ }
543
+
544
+ /**
545
+ * what the end of the load must do about back references: the one-sided references of the
546
+ * settled nodes, to propagate one by one, and the settled nodes themselves, which the sweep
547
+ * over every node skips. Taken once by the loader's terminate step and dropped after it: the
548
+ * set lives for the load, not on the nodes
549
+ */
550
+ public takePendingBackReferences(): PendingBackReferences {
551
+ const pending = this.pending;
552
+ this.pending = { settled: new Set(), references: [] };
553
+ return pending;
554
+ }
555
+
556
+ private createNode(params: CreateNodeOptions, record: NodesetNodeRecord): BaseNode {
557
+ // c8 ignore next
558
+ if (!(params.nodeId instanceof NodeId)) {
559
+ throw new Error("invalid param expecting a valid nodeId");
560
+ } // already translated
561
+ const namespace = this.addressSpace.getNamespace(params.nodeId.namespace);
562
+ const node = namespace.internalCreateNode(params) as BaseNode;
563
+ this.settle(node, record, params.references as UAReference[]);
564
+ return node;
565
+ }
566
+
567
+ private applyNode(record: NodesetNodeRecord): void {
568
+ if (this.canIgnore(record)) {
569
+ return;
570
+ }
571
+ switch (record.nodeClass) {
572
+ case NodeClass.Object:
573
+ this.createNode(
574
+ {
575
+ ...this.common(record),
576
+ isAbstract: record.isAbstract,
577
+ eventNotifier: record.eventNotifier,
578
+ symbolicName: record.symbolicName ?? null,
579
+ displayName: record.displayName,
580
+ description: record.description
581
+ } as CreateNodeOptions,
582
+ record
583
+ );
584
+ return;
585
+ case NodeClass.ObjectType:
586
+ this.createNode(
587
+ {
588
+ ...this.common(record),
589
+ isAbstract: record.isAbstract,
590
+ eventNotifier: record.eventNotifier,
591
+ displayName: record.displayName,
592
+ description: record.description
593
+ } as CreateNodeOptions,
594
+ record
595
+ );
596
+ return;
597
+ case NodeClass.ReferenceType: {
598
+ const params = {
599
+ ...this.common(record),
600
+ isAbstract: record.isAbstract,
601
+ displayName: record.displayName,
602
+ description: record.description,
603
+ inverseName: record.inverseName
604
+ } as unknown as AddReferenceTypeOptions;
605
+ // c8 ignore next
606
+ if (!(params.nodeId instanceof NodeId)) {
607
+ throw new Error("invalid param");
608
+ } // already translated
609
+ const node = this.addressSpace.getNamespace(params.nodeId.namespace).addReferenceType(params);
610
+ this.settle(node, record, params.references as UAReference[]);
611
+ return;
612
+ }
613
+ case NodeClass.DataType:
614
+ this.applyDataType(record);
615
+ return;
616
+ case NodeClass.Variable:
617
+ this.applyVariable(record);
618
+ return;
619
+ case NodeClass.VariableType:
620
+ this.applyVariableType(record);
621
+ return;
622
+ case NodeClass.Method:
623
+ this.createNode(
624
+ {
625
+ ...this.common(record),
626
+ parentNodeId: this.translateOrNull(record.parentNodeId),
627
+ methodDeclarationId: this.translateOrNull(record.methodDeclarationId),
628
+ displayName: record.displayName
629
+ } as CreateNodeOptions,
630
+ record
631
+ );
632
+ return;
633
+ case NodeClass.View:
634
+ this.createNode(
635
+ {
636
+ ...this.common(record),
637
+ containsNoLoops: record.containsNoLoops,
638
+ eventNotifier: record.eventNotifier,
639
+ displayName: record.displayName,
640
+ description: record.description
641
+ } as CreateNodeOptions,
642
+ record
643
+ );
644
+ return;
645
+ default:
646
+ throw new Error(`NodesetRecordApplier: unexpected node class ${record.nodeClass}`);
647
+ }
648
+ }
649
+
650
+ private applyDataType(record: NodesetNodeRecord): void {
651
+ const fields = (record.definition?.fields ?? []).map((field) => ({
652
+ ...field,
653
+ dataType: field.dataType ? this.translate(field.dataType) : null
654
+ }));
655
+ const params = {
656
+ ...this.common(record),
657
+ nodeId: record.nodeId.isEmpty() ? undefined : this.translate(record.nodeId),
658
+ isAbstract: record.isAbstract || false,
659
+ displayName: record.displayName ?? "",
660
+ description: record.description ?? "",
661
+ symbolicName: record.symbolicName,
662
+ partialDefinition: fields
663
+ } as unknown as CreateNodeOptions;
664
+
665
+ let capturedDataTypeNode: UADataType | undefined = this.createNode(params, record) as UADataType;
666
+ const queues = this.queues;
667
+ const processBasicDataType = async (_addressSpace2: IAddressSpace) => {
668
+ if (!capturedDataTypeNode) return;
669
+ const definitionName = capturedDataTypeNode.browseName.name || "";
670
+ const isStructure = capturedDataTypeNode.isStructure();
671
+ const isEnumeration = capturedDataTypeNode.isEnumeration();
672
+ if (!isEnumeration && !isStructure && capturedDataTypeNode.nodeId.namespace !== 0) {
673
+ // add a custom basic type that is not a structure nor a enumeration
674
+ queues.pendingSimpleTypeToRegister.push({ name: definitionName, dataTypeNodeId: capturedDataTypeNode.nodeId });
675
+ }
676
+ capturedDataTypeNode = undefined;
677
+ };
678
+ queues.postTasks.push(processBasicDataType);
679
+ }
680
+
681
+ /**
682
+ * the value of a record, translated, with the extension objects still waiting as XML replaced
683
+ * by null and their decode queued; the deferred getter yields them once decoded
684
+ */
685
+ private prepareValue(record: NodesetNodeRecord, value: VariantOptions): VariantOptions {
686
+ value = this.translateValue(value);
687
+ if (value.dataType !== DataType.ExtensionObject) {
688
+ return value;
689
+ }
690
+ const nodeId = record.nodeId.isEmpty() ? NodeId.nullNodeId : this.translate(record.nodeId);
691
+ const translateString = this.translateString;
692
+ if (value.value instanceof XmlExtensionObjectFragment) {
693
+ const fragment = value.value;
694
+ let captured: ExtensionObject | null = null;
695
+ this.queues.postTasks0_DecodePojoString.push(
696
+ createXMLExtensionObjectDecodingTask(
697
+ translateString,
698
+ this.translate(fragment.typeId),
699
+ fragment.bodyXML,
700
+ (extensionObject) => {
701
+ captured = extensionObject;
702
+ }
703
+ )
704
+ );
705
+ this.assignExtensionObjectLater(nodeId, () => captured);
706
+ return { dataType: DataType.ExtensionObject, arrayType: VariantArrayType.Scalar, value: null };
707
+ }
708
+ if (Array.isArray(value.value) && value.value.some((e) => e instanceof XmlExtensionObjectFragment)) {
709
+ const list: (ExtensionObject | null)[] = value.value.map((e) => (e instanceof XmlExtensionObjectFragment ? null : e));
710
+ value.value.forEach((e, index) => {
711
+ if (!(e instanceof XmlExtensionObjectFragment)) return;
712
+ this.queues.postTasks0_DecodePojoString.push(
713
+ createXMLExtensionObjectDecodingTask(
714
+ translateString,
715
+ this.translate(e.typeId),
716
+ e.bodyXML,
717
+ (extensionObject) => {
718
+ list[index] = extensionObject;
719
+ }
720
+ )
721
+ );
722
+ });
723
+ this.assignExtensionObjectLater(nodeId, () => list as ExtensionObject[]);
724
+ return { dataType: DataType.ExtensionObject, arrayType: VariantArrayType.Array, value: null };
725
+ }
726
+ return value;
727
+ }
728
+
729
+ private assignExtensionObjectLater(nodeId: NodeId, deferred: () => ExtensionObject | ExtensionObject[] | null): void {
730
+ // let's create the mechanism that postpone the assignment of the extension object
731
+ const task = async (addressSpace2: IAddressSpace) => {
732
+ const extensionObjOrArray = deferred();
733
+ assert(nodeId, "expecting a nodeid");
734
+ const node = addressSpace2.findNode(nodeId);
735
+ if (!node) return;
736
+
737
+ if (node.nodeClass === NodeClass.Variable) {
738
+ const v = node as UAVariable;
739
+ assert(v.getBasicDataType() === DataType.ExtensionObject, "expecting an extension object");
740
+ if (extensionObjOrArray != null) {
741
+ v.bindExtensionObject(extensionObjOrArray, { createMissingProp: false });
742
+ }
743
+ } else if (node.nodeClass === NodeClass.VariableType) {
744
+ const v = node as UAVariableType;
745
+ (v as unknown as { value: { value: unknown } }).value.value = extensionObjOrArray;
746
+ }
747
+ };
748
+ this.queues.postTasks2_AssignedExtensionObjectToDataValue.push(task);
749
+ }
750
+
751
+ private variableCommon(record: NodesetNodeRecord) {
752
+ return {
753
+ ...this.common(record),
754
+ parentNodeId: this.translateOrNull(record.parentNodeId),
755
+ dataType: this.translateOrNull(record.dataType),
756
+ valueRank: record.valueRank ?? -1,
757
+ arrayDimensions: record.arrayDimensions ?? null,
758
+ minimumSamplingInterval: record.minimumSamplingInterval ?? 0,
759
+ displayName: record.displayName !== undefined ? (coerceLocalizedText(record.displayName) ?? undefined) : undefined,
760
+ description: record.description !== undefined ? (coerceLocalizedText(record.description) ?? undefined) : undefined
761
+ };
762
+ }
763
+
764
+ private applyVariable(record: NodesetNodeRecord): void {
765
+ const accessLevel = convertAccessLevel(record.accessLevel);
766
+ const value = record.value ? this.prepareValue(record, record.value) : undefined;
767
+ const params = {
768
+ ...this.variableCommon(record),
769
+ historizing: record.historizing ?? false,
770
+ accessLevel,
771
+ userAccessLevel: convertUserAccessLevel(record.userAccessLevel, accessLevel)
772
+ // no value here: an empty one made the constructor bind a getter and a setter on every
773
+ // variable, five closures each; an unbound variable reads and writes through the
774
+ // defaults, and the value is set below or by a post task once its data type is known
775
+ } as unknown as CreateNodeOptions;
776
+
777
+ const addressSpace = this.addressSpace;
778
+ let capturedVariable: UAVariable | undefined;
779
+ // the value can be set now when its data type is already in the address space: nothing
780
+ // else in the post-load steps runs before it; only an extension object waits for the
781
+ // data types to be extracted
782
+ const dataType = this.translateOrNull(record.dataType);
783
+ const dataTypeReady = dataType !== null && value?.dataType !== DataType.ExtensionObject && this.isDataTypeReady(dataType);
784
+ if (dataTypeReady) {
785
+ const variable = this.createNode(params, record) as UAVariable;
786
+ this.setInitialValueNow(variable, value);
787
+ return;
788
+ }
789
+ if (value && value.dataType !== DataType.Null) {
790
+ let capturedValue: VariantOptions | undefined = value;
791
+ const task = async (_addressSpace2: IAddressSpace) => {
792
+ if (!capturedVariable) return;
793
+ const cv = capturedVariable;
794
+ (cv as UAVariableImpl)._setInitialDataValue(capturedValue as VariantOptions);
795
+ capturedValue = undefined;
796
+ capturedVariable = undefined;
797
+ };
798
+ if (capturedValue.dataType !== DataType.ExtensionObject) {
799
+ this.queues.postTasks0_InitializeVariable.push(task);
800
+ } else {
801
+ // do them later when every thing is created
802
+ this.queues.postTasks1_InitializeVariable.push(task);
803
+ }
804
+ } else {
805
+ const task = async (_addressSpace2: IAddressSpace) => {
806
+ if (!capturedVariable) return;
807
+ const cv = capturedVariable;
808
+ const defaultValue = makeDefaultVariant(addressSpace, cv.dataType, cv.valueRank, cv.arrayDimensions);
809
+ if (defaultValue) {
810
+ // a Matrix variable declared with fixed ArrayDimensions but no <Value> is built with
811
+ // an empty value (value=[]) yet non-zero declared dimensions. This is an *uninitialized*
812
+ // and internally inconsistent matrix (value.length !== product(dimensions)). Advertising
813
+ // it as Good would put a spec-violating matrix on the wire (ArraySize 0 + non-empty
814
+ // ArrayDimensions), so flag it as BadWaitingForInitialData like any other missing value.
815
+ if (defaultValue.dataType === DataType.Null || isUninitializedMatrix(defaultValue)) {
816
+ (cv as UAVariableImpl)._setInitialDataValue(defaultValue, StatusCodes.BadWaitingForInitialData);
817
+ } else {
818
+ (cv as UAVariableImpl)._setInitialDataValue(defaultValue, StatusCodes.Good);
819
+ }
820
+ }
821
+ capturedVariable = undefined;
822
+ };
823
+ this.queues.postTasks0_InitializeVariable.push(task);
824
+ }
825
+ capturedVariable = this.createNode(params, record) as UAVariable;
826
+ }
827
+
828
+ /** a data type node whose basic type resolves: what an initial value needs to be checked against */
829
+ private isDataTypeReady(dataType: NodeId): boolean {
830
+ const node = this.addressSpace.findNode(dataType) as UADataType | null;
831
+ if (!node || node.nodeClass !== NodeClass.DataType) {
832
+ return false;
833
+ }
834
+ try {
835
+ return node.basicDataType !== undefined;
836
+ } catch {
837
+ return false;
838
+ }
839
+ }
840
+
841
+ /**
842
+ * what the "initializing simple variables" post task does, done at creation; a value the
843
+ * variable refuses is logged and skipped, as the post task would
844
+ */
845
+ private setInitialValueNow(variable: UAVariable, value: VariantOptions | undefined): void {
846
+ try {
847
+ if (value && value.dataType !== DataType.Null) {
848
+ (variable as UAVariableImpl)._setInitialDataValue(value);
849
+ return;
850
+ }
851
+ const defaultValue = makeDefaultVariant(
852
+ this.addressSpace,
853
+ variable.dataType,
854
+ variable.valueRank,
855
+ variable.arrayDimensions
856
+ );
857
+ if (defaultValue) {
858
+ if (defaultValue.dataType === DataType.Null || isUninitializedMatrix(defaultValue)) {
859
+ (variable as UAVariableImpl)._setInitialDataValue(defaultValue, StatusCodes.BadWaitingForInitialData);
860
+ } else {
861
+ (variable as UAVariableImpl)._setInitialDataValue(defaultValue, StatusCodes.Good);
862
+ }
863
+ }
864
+ } catch (err) {
865
+ errorLog(
866
+ `[NODE-OPCUA-W36] generateAddressSpace: post-loading task failed during "initializing simple variables" and was skipped: ${(err as Error).message}`
867
+ );
868
+ }
869
+ }
870
+
871
+ private applyVariableType(record: NodesetNodeRecord): void {
872
+ const value = record.value ? this.prepareValue(record, record.value) : undefined;
873
+ const params = {
874
+ ...this.variableCommon(record),
875
+ // a ValueRank of 0 has always been read as Scalar on a variable type; kept
876
+ valueRank: record.valueRank || -1,
877
+ // UAVariableType has no Historizing attribute in the XSD: keep it false
878
+ historizing: false,
879
+ isAbstract: record.isAbstract,
880
+ displayName:
881
+ record.displayName !== undefined ? (coerceLocalizedText(record.displayName || "") ?? undefined) : undefined,
882
+ description:
883
+ record.description !== undefined ? (coerceLocalizedText(record.description || "") ?? undefined) : undefined,
884
+ value
885
+ } as unknown as CreateNodeOptions;
886
+ this.createNode(params, record);
887
+ }
888
+ // #endregion
889
+ }