node-opcua-address-space 2.180.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 (1084) hide show
  1. package/api/address_space_public.ts +63 -0
  2. package/api/address_space_ts.ts +129 -0
  3. package/api/continuation_points/continuation_point_manager.ts +271 -0
  4. package/api/helpers/argument_list.ts +310 -0
  5. package/api/helpers/call_helpers.ts +100 -0
  6. package/api/helpers/coerce_enum_value.ts +33 -0
  7. package/api/helpers/dump_tools.ts +90 -0
  8. package/api/helpers/ensure_secure_access.ts +78 -0
  9. package/api/helpers/multiform_func.ts +78 -0
  10. package/api/helpers/resolve_opaque_on_address_space.ts +26 -0
  11. package/api/index.ts +210 -0
  12. package/api/interfaces/alarms_and_conditions/condition_info_i.ts +60 -0
  13. package/api/interfaces/alarms_and_conditions/condition_snapshot.ts +236 -0
  14. package/api/interfaces/alarms_and_conditions/deviation_stuff.ts +16 -0
  15. package/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +8 -0
  16. package/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.ts +6 -0
  17. package/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +6 -0
  18. package/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +13 -0
  19. package/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.ts +6 -0
  20. package/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.ts +6 -0
  21. package/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +21 -0
  22. package/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +28 -0
  23. package/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +72 -0
  24. package/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +36 -0
  25. package/api/interfaces/alarms_and_conditions/ua_condition_ex.ts +55 -0
  26. package/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +17 -0
  27. package/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +21 -0
  28. package/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +21 -0
  29. package/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +26 -0
  30. package/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +29 -0
  31. package/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +25 -0
  32. package/api/interfaces/data_access/ua_multistate_discrete_ex.ts +57 -0
  33. package/api/interfaces/data_access/ua_multistate_value_discrete_ex.ts +31 -0
  34. package/api/interfaces/data_access/ua_two_state_discrete_ex.ts +15 -0
  35. package/api/interfaces/nodeset_loader_options.ts +58 -0
  36. package/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +20 -0
  37. package/api/interfaces/state_machine/ua_finite_state_machine_type.ts +50 -0
  38. package/api/interfaces/state_machine/ua_program_state_machine_type.ts +14 -0
  39. package/api/interfaces/state_machine/ua_shelved_state_machine_ex.ts +35 -0
  40. package/api/interfaces/state_machine/ua_state_machine_type.ts +288 -0
  41. package/api/loader/decode_xml_extension_object.ts +80 -0
  42. package/api/loader/ensure_datatype_extracted.ts +122 -0
  43. package/api/loader/generateAddressSpaceRaw.ts +470 -0
  44. package/api/loader/load_nodeset2.ts +278 -0
  45. package/api/loader/make_xml_extension_object_parser.ts +518 -0
  46. package/api/loader/namespace_post_step.ts +68 -0
  47. package/api/loader/nodeset_image.ts +451 -0
  48. package/api/loader/nodeset_image_codec.ts +576 -0
  49. package/api/loader/nodeset_image_store.ts +78 -0
  50. package/api/loader/nodeset_record.ts +141 -0
  51. package/api/loader/nodeset_record_applier.ts +889 -0
  52. package/api/loader/nodeset_source.ts +367 -0
  53. package/api/loader/nodeset_source_helpers.ts +50 -0
  54. package/api/loader/nodeset_to_image.ts +29 -0
  55. package/api/loader/nodeset_xml_producer.ts +383 -0
  56. package/api/loader/parsers/extension_object_parser.ts +374 -0
  57. package/api/loader/parsers/variant_parser.ts +363 -0
  58. package/api/loader/register_node_promoter.ts +6 -0
  59. package/api/namespace.ts +25 -0
  60. package/api/namespace_alarm_and_condition.ts +78 -0
  61. package/api/namespace_data_access.ts +92 -0
  62. package/api/namespace_machine_state.ts +20 -0
  63. package/api/pseudo_session.ts +415 -0
  64. package/api/session_context.ts +729 -0
  65. package/api/ua_interface.ts +38 -0
  66. package/api/ua_two_state_variable_ex.ts +36 -0
  67. package/bin/opcua-nodeset-image.js +192 -0
  68. package/dist/api/address_space_public.d.ts +57 -0
  69. package/dist/api/address_space_public.js +19 -0
  70. package/dist/api/address_space_public.js.map +1 -0
  71. package/dist/api/address_space_ts.d.ts +79 -0
  72. package/dist/api/address_space_ts.js +13 -0
  73. package/dist/api/address_space_ts.js.map +1 -0
  74. package/dist/api/continuation_points/continuation_point_manager.js +230 -0
  75. package/dist/api/continuation_points/continuation_point_manager.js.map +1 -0
  76. package/dist/api/helpers/adjust_browse_direction.js.map +1 -0
  77. package/dist/api/helpers/argument_list.js +263 -0
  78. package/dist/api/helpers/argument_list.js.map +1 -0
  79. package/dist/api/helpers/call_helpers.js +80 -0
  80. package/dist/api/helpers/call_helpers.js.map +1 -0
  81. package/dist/api/helpers/coerce_enum_value.d.ts +6 -0
  82. package/dist/api/helpers/coerce_enum_value.js.map +1 -0
  83. package/dist/api/helpers/dump_tools.js +81 -0
  84. package/dist/api/helpers/dump_tools.js.map +1 -0
  85. package/dist/api/helpers/ensure_secure_access.d.ts +19 -0
  86. package/dist/api/helpers/ensure_secure_access.js +67 -0
  87. package/dist/api/helpers/ensure_secure_access.js.map +1 -0
  88. package/dist/api/helpers/make_optionals_map.js.map +1 -0
  89. package/dist/api/helpers/multiform_func.js +75 -0
  90. package/dist/api/helpers/multiform_func.js.map +1 -0
  91. package/dist/api/helpers/resolve_opaque_on_address_space.js +25 -0
  92. package/dist/api/helpers/resolve_opaque_on_address_space.js.map +1 -0
  93. package/dist/api/index.d.ts +113 -0
  94. package/dist/api/index.js +234 -0
  95. package/dist/api/index.js.map +1 -0
  96. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.d.ts +54 -0
  97. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.js +28 -0
  98. package/dist/api/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -0
  99. package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.d.ts +151 -0
  100. package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.js.map +1 -0
  101. package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -0
  102. package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.js.map +1 -0
  103. package/dist/api/interfaces/alarms_and_conditions/install_setpoint_options.js.map +1 -0
  104. package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -0
  105. package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +1 -0
  106. package/dist/api/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +1 -0
  107. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -0
  108. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +1 -0
  109. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -0
  110. package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +1 -0
  111. package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +10 -0
  112. package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +1 -0
  113. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -0
  114. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +1 -0
  115. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -0
  116. package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +1 -0
  117. package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -0
  118. package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +1 -0
  119. package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +21 -0
  120. package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +1 -0
  121. package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +56 -0
  122. package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +1 -0
  123. package/dist/api/interfaces/alarms_and_conditions/ua_base_event_ex.js.map +1 -0
  124. package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -0
  125. package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +1 -0
  126. package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +44 -0
  127. package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.js.map +1 -0
  128. package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +4 -0
  129. package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +1 -0
  130. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -0
  131. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +1 -0
  132. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +19 -0
  133. package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +1 -0
  134. package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +25 -0
  135. package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +1 -0
  136. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -0
  137. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +1 -0
  138. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -0
  139. package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +1 -0
  140. package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.d.ts +44 -0
  141. package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.js.map +1 -0
  142. package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +22 -0
  143. package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +1 -0
  144. package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.d.ts +13 -0
  145. package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.js.map +1 -0
  146. package/dist/api/interfaces/data_access/ua_y_array_item_ex.js.map +1 -0
  147. package/dist/api/interfaces/extension_object_constructor.js.map +1 -0
  148. package/dist/api/interfaces/i_condition_variable_type_setter_options.js.map +1 -0
  149. package/dist/api/interfaces/i_set_state_options.js.map +1 -0
  150. package/dist/api/interfaces/nodeset_loader_options.d.ts +56 -0
  151. package/dist/api/interfaces/nodeset_loader_options.js.map +1 -0
  152. package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -0
  153. package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +1 -0
  154. package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -0
  155. package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.js.map +1 -0
  156. package/dist/api/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -0
  157. package/dist/api/interfaces/state_machine/ua_program_state_machine_type.js.map +1 -0
  158. package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +29 -0
  159. package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +1 -0
  160. package/dist/api/interfaces/state_machine/ua_state_machine_type.d.ts +236 -0
  161. package/dist/api/interfaces/state_machine/ua_state_machine_type.js.map +1 -0
  162. package/dist/api/interfaces/state_machine/ua_transition_ex.js.map +1 -0
  163. package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -0
  164. package/dist/api/loader/decode_xml_extension_object.d.ts +6 -0
  165. package/dist/api/loader/decode_xml_extension_object.js +69 -0
  166. package/dist/api/loader/decode_xml_extension_object.js.map +1 -0
  167. package/dist/api/loader/ensure_datatype_extracted.js +88 -0
  168. package/dist/api/loader/ensure_datatype_extracted.js.map +1 -0
  169. package/dist/api/loader/generateAddressSpaceRaw.d.ts +64 -0
  170. package/dist/api/loader/generateAddressSpaceRaw.js +379 -0
  171. package/dist/api/loader/generateAddressSpaceRaw.js.map +1 -0
  172. package/dist/api/loader/load_nodeset2.d.ts +38 -0
  173. package/dist/api/loader/load_nodeset2.js +245 -0
  174. package/dist/api/loader/load_nodeset2.js.map +1 -0
  175. package/dist/api/loader/make_semver_compatible.js.map +1 -0
  176. package/dist/api/loader/make_xml_extension_object_parser.js +417 -0
  177. package/dist/api/loader/make_xml_extension_object_parser.js.map +1 -0
  178. package/dist/api/loader/namespace_post_step.js +57 -0
  179. package/dist/api/loader/namespace_post_step.js.map +1 -0
  180. package/dist/api/loader/nodeset_image.d.ts +94 -0
  181. package/dist/api/loader/nodeset_image.js +406 -0
  182. package/dist/api/loader/nodeset_image.js.map +1 -0
  183. package/dist/api/loader/nodeset_image_codec.d.ts +104 -0
  184. package/dist/api/loader/nodeset_image_codec.js +489 -0
  185. package/dist/api/loader/nodeset_image_codec.js.map +1 -0
  186. package/dist/api/loader/nodeset_image_store.d.ts +27 -0
  187. package/dist/api/loader/nodeset_image_store.js +72 -0
  188. package/dist/api/loader/nodeset_image_store.js.map +1 -0
  189. package/dist/api/loader/nodeset_record.d.ts +125 -0
  190. package/dist/api/loader/nodeset_record.js +26 -0
  191. package/dist/api/loader/nodeset_record.js.map +1 -0
  192. package/dist/api/loader/nodeset_record_applier.d.ts +106 -0
  193. package/dist/api/loader/nodeset_record_applier.js +731 -0
  194. package/dist/api/loader/nodeset_record_applier.js.map +1 -0
  195. package/dist/api/loader/nodeset_source.d.ts +124 -0
  196. package/dist/api/loader/nodeset_source.js +307 -0
  197. package/dist/api/loader/nodeset_source.js.map +1 -0
  198. package/dist/api/loader/nodeset_source_helpers.d.ts +27 -0
  199. package/dist/api/loader/nodeset_source_helpers.js +30 -0
  200. package/dist/api/loader/nodeset_source_helpers.js.map +1 -0
  201. package/dist/api/loader/nodeset_to_image.d.ts +13 -0
  202. package/dist/api/loader/nodeset_to_image.js +30 -0
  203. package/dist/api/loader/nodeset_to_image.js.map +1 -0
  204. package/dist/api/loader/nodeset_xml_producer.d.ts +16 -0
  205. package/dist/api/loader/nodeset_xml_producer.js +349 -0
  206. package/dist/api/loader/nodeset_xml_producer.js.map +1 -0
  207. package/dist/api/loader/parsers/extension_object_parser.js +274 -0
  208. package/dist/api/loader/parsers/extension_object_parser.js.map +1 -0
  209. package/dist/api/loader/parsers/localized_text_parser.js.map +1 -0
  210. package/dist/api/loader/parsers/nodeid_parser.js.map +1 -0
  211. package/dist/api/loader/parsers/qualified_name_parser.js.map +1 -0
  212. package/dist/api/loader/parsers/variant_parser.d.ts +42 -0
  213. package/dist/api/loader/parsers/variant_parser.js +294 -0
  214. package/dist/api/loader/parsers/variant_parser.js.map +1 -0
  215. package/dist/api/loader/register_node_promoter.d.ts +2 -0
  216. package/dist/api/loader/register_node_promoter.js +9 -0
  217. package/dist/api/loader/register_node_promoter.js.map +1 -0
  218. package/dist/api/namespace.d.ts +18 -0
  219. package/dist/api/namespace.js.map +1 -0
  220. package/dist/api/namespace_alarm_and_condition.d.ts +33 -0
  221. package/dist/api/namespace_alarm_and_condition.js.map +1 -0
  222. package/dist/api/namespace_data_access.d.ts +67 -0
  223. package/dist/api/namespace_data_access.js.map +1 -0
  224. package/dist/api/namespace_machine_state.d.ts +8 -0
  225. package/dist/api/namespace_machine_state.js.map +1 -0
  226. package/dist/api/pseudo_session.d.ts +74 -0
  227. package/dist/api/pseudo_session.js +308 -0
  228. package/dist/api/pseudo_session.js.map +1 -0
  229. package/dist/api/session_context.d.ts +242 -0
  230. package/dist/api/session_context.js.map +1 -0
  231. package/dist/api/set_namespace_meta_data.js.map +1 -0
  232. package/dist/api/ua_addin.js.map +1 -0
  233. package/dist/api/ua_interface.js +25 -0
  234. package/dist/api/ua_interface.js.map +1 -0
  235. package/dist/api/ua_root_folder.js.map +1 -0
  236. package/dist/api/ua_two_state_variable_ex.d.ts +24 -0
  237. package/dist/api/ua_two_state_variable_ex.js.map +1 -0
  238. package/dist/api/xml_writer.js.map +1 -0
  239. package/dist/impl/_instantiate_helpers.js +99 -0
  240. package/dist/impl/_instantiate_helpers.js.map +1 -0
  241. package/dist/impl/_mandatory_child_or_requested_optional_filter.js +82 -0
  242. package/dist/impl/_mandatory_child_or_requested_optional_filter.js.map +1 -0
  243. package/dist/impl/address_space.d.ts +379 -0
  244. package/dist/impl/address_space.js +1383 -0
  245. package/dist/impl/address_space.js.map +1 -0
  246. package/dist/impl/address_space_change_event_tools.d.ts +6 -0
  247. package/dist/impl/address_space_change_event_tools.js.map +1 -0
  248. package/dist/impl/address_space_private.d.ts +48 -0
  249. package/dist/impl/address_space_private.js.map +1 -0
  250. package/dist/impl/alarms_and_conditions/condition.js.map +1 -0
  251. package/dist/impl/alarms_and_conditions/condition_info_impl.d.ts +19 -0
  252. package/dist/impl/alarms_and_conditions/condition_info_impl.js +39 -0
  253. package/dist/impl/alarms_and_conditions/condition_info_impl.js.map +1 -0
  254. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.d.ts +271 -0
  255. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js +700 -0
  256. package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js.map +1 -0
  257. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.d.ts +12 -0
  258. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js +66 -0
  259. package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js.map +1 -0
  260. package/dist/impl/alarms_and_conditions/index.d.ts +16 -0
  261. package/dist/impl/alarms_and_conditions/index.js +33 -0
  262. package/dist/impl/alarms_and_conditions/index.js.map +1 -0
  263. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +54 -0
  264. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -0
  265. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -0
  266. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.d.ts +105 -0
  267. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js +428 -0
  268. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -0
  269. package/dist/impl/alarms_and_conditions/ua_base_event_impl.d.ts +36 -0
  270. package/dist/impl/alarms_and_conditions/ua_base_event_impl.js +32 -0
  271. package/dist/impl/alarms_and_conditions/ua_base_event_impl.js.map +1 -0
  272. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +47 -0
  273. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +204 -0
  274. package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -0
  275. package/dist/impl/alarms_and_conditions/ua_condition_impl.d.ts +152 -0
  276. package/dist/impl/alarms_and_conditions/ua_condition_impl.js +1016 -0
  277. package/dist/impl/alarms_and_conditions/ua_condition_impl.js.map +1 -0
  278. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +22 -0
  279. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js +41 -0
  280. package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -0
  281. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +30 -0
  282. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +54 -0
  283. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -0
  284. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +12 -0
  285. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +13 -0
  286. package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -0
  287. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +28 -0
  288. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -0
  289. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -0
  290. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -0
  291. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +8 -0
  292. package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -0
  293. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.d.ts +49 -0
  294. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js +207 -0
  295. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -0
  296. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -0
  297. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +54 -0
  298. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -0
  299. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +38 -0
  300. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +172 -0
  301. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -0
  302. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +44 -0
  303. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js +164 -0
  304. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -0
  305. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -0
  306. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +18 -0
  307. package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -0
  308. package/dist/impl/apply_condition_refresh.d.ts +4 -0
  309. package/dist/impl/apply_condition_refresh.js +29 -0
  310. package/dist/impl/apply_condition_refresh.js.map +1 -0
  311. package/dist/impl/base_node_impl.d.ts +347 -0
  312. package/dist/impl/base_node_impl.js +1768 -0
  313. package/dist/impl/base_node_impl.js.map +1 -0
  314. package/dist/impl/base_node_private.d.ts +138 -0
  315. package/dist/impl/base_node_private.js +1028 -0
  316. package/dist/impl/base_node_private.js.map +1 -0
  317. package/dist/impl/check_value_rank_compatibility.js.map +1 -0
  318. package/dist/impl/child_accessors.d.ts +43 -0
  319. package/dist/impl/child_accessors.js +222 -0
  320. package/dist/impl/child_accessors.js.map +1 -0
  321. package/dist/impl/data_access/add_dataItem_stuff.js.map +1 -0
  322. package/dist/impl/data_access/adjust_datavalue_status_code.d.ts +7 -0
  323. package/dist/impl/data_access/adjust_datavalue_status_code.js.map +1 -0
  324. package/dist/impl/data_access/ua_multistate_discrete_impl.d.ts +38 -0
  325. package/dist/impl/data_access/ua_multistate_discrete_impl.js +143 -0
  326. package/dist/impl/data_access/ua_multistate_discrete_impl.js.map +1 -0
  327. package/dist/impl/data_access/ua_multistate_value_discrete_impl.d.ts +61 -0
  328. package/dist/impl/data_access/ua_multistate_value_discrete_impl.js +303 -0
  329. package/dist/impl/data_access/ua_multistate_value_discrete_impl.js.map +1 -0
  330. package/dist/impl/data_access/ua_two_state_discrete_impl.d.ts +30 -0
  331. package/dist/impl/data_access/ua_two_state_discrete_impl.js +164 -0
  332. package/dist/impl/data_access/ua_two_state_discrete_impl.js.map +1 -0
  333. package/dist/impl/event_data.d.ts +27 -0
  334. package/dist/impl/event_data.js +73 -0
  335. package/dist/impl/event_data.js.map +1 -0
  336. package/dist/impl/event_layout.d.ts +40 -0
  337. package/dist/impl/event_layout.js +103 -0
  338. package/dist/impl/event_layout.js.map +1 -0
  339. package/dist/impl/extension_object_array_node.d.ts +41 -0
  340. package/dist/impl/extension_object_array_node.js +274 -0
  341. package/dist/impl/extension_object_array_node.js.map +1 -0
  342. package/dist/impl/get_basic_datatype.js.map +1 -0
  343. package/dist/impl/handle_hierarchy_parent.d.ts +33 -0
  344. package/dist/impl/handle_hierarchy_parent.js +103 -0
  345. package/dist/impl/handle_hierarchy_parent.js.map +1 -0
  346. package/dist/impl/historical_access/address_space_historical_data_node.d.ts +21 -0
  347. package/dist/impl/historical_access/address_space_historical_data_node.js +658 -0
  348. package/dist/impl/historical_access/address_space_historical_data_node.js.map +1 -0
  349. package/dist/impl/historizer_factory.d.ts +18 -0
  350. package/dist/impl/historizer_factory.js +16 -0
  351. package/dist/impl/historizer_factory.js.map +1 -0
  352. package/dist/impl/idx_iterator.js.map +1 -0
  353. package/dist/impl/namespace_impl.d.ts +469 -0
  354. package/dist/impl/namespace_impl.js +1845 -0
  355. package/dist/impl/namespace_impl.js.map +1 -0
  356. package/dist/impl/namespace_private.d.ts +25 -0
  357. package/dist/impl/namespace_private.js.map +1 -0
  358. package/dist/impl/nodeid_manager.js +249 -0
  359. package/dist/impl/nodeid_manager.js.map +1 -0
  360. package/dist/impl/nodeset_tools/adjust_namespace_array.js.map +1 -0
  361. package/dist/impl/nodeset_tools/construct_namespace_dependency.d.ts +37 -0
  362. package/dist/impl/nodeset_tools/construct_namespace_dependency.js +352 -0
  363. package/dist/impl/nodeset_tools/construct_namespace_dependency.js.map +1 -0
  364. package/dist/impl/nodeset_tools/dump_to_bsd.d.ts +10 -0
  365. package/dist/impl/nodeset_tools/dump_to_bsd.js +176 -0
  366. package/dist/impl/nodeset_tools/dump_to_bsd.js.map +1 -0
  367. package/dist/impl/nodeset_tools/nodeset_to_records.d.ts +67 -0
  368. package/dist/impl/nodeset_tools/nodeset_to_records.js +773 -0
  369. package/dist/impl/nodeset_tools/nodeset_to_records.js.map +1 -0
  370. package/dist/impl/nodeset_tools/nodeset_to_xml.d.ts +28 -0
  371. package/dist/impl/nodeset_tools/nodeset_to_xml.js +1132 -0
  372. package/dist/impl/nodeset_tools/nodeset_to_xml.js.map +1 -0
  373. package/dist/impl/private_namespace.d.ts +5 -0
  374. package/dist/impl/private_namespace.js.map +1 -0
  375. package/dist/impl/reference_impl.d.ts +82 -0
  376. package/dist/impl/reference_impl.js +207 -0
  377. package/dist/impl/reference_impl.js.map +1 -0
  378. package/dist/impl/reference_type_version.d.ts +22 -0
  379. package/dist/impl/reference_type_version.js +22 -0
  380. package/dist/impl/reference_type_version.js.map +1 -0
  381. package/dist/impl/role_permissions.js.map +1 -0
  382. package/dist/impl/state_machine/finite_state_machine.d.ts +81 -0
  383. package/dist/impl/state_machine/finite_state_machine.js +573 -0
  384. package/dist/impl/state_machine/finite_state_machine.js.map +1 -0
  385. package/dist/impl/state_machine/ua_shelving_state_machine_ex.d.ts +64 -0
  386. package/dist/impl/state_machine/ua_shelving_state_machine_ex.js +249 -0
  387. package/dist/impl/state_machine/ua_shelving_state_machine_ex.js.map +1 -0
  388. package/dist/impl/state_machine/ua_two_state_variable.d.ts +55 -0
  389. package/dist/impl/state_machine/ua_two_state_variable.js +323 -0
  390. package/dist/impl/state_machine/ua_two_state_variable.js.map +1 -0
  391. package/dist/impl/tool_isSubtypeOf.d.ts +18 -0
  392. package/dist/impl/tool_isSubtypeOf.js +138 -0
  393. package/dist/impl/tool_isSubtypeOf.js.map +1 -0
  394. package/dist/impl/ua_condition_type.js.map +1 -0
  395. package/dist/impl/ua_data_type_impl.d.ts +87 -0
  396. package/dist/impl/ua_data_type_impl.js +391 -0
  397. package/dist/impl/ua_data_type_impl.js.map +1 -0
  398. package/dist/impl/ua_method_impl.d.ts +48 -0
  399. package/dist/impl/ua_method_impl.js +281 -0
  400. package/dist/impl/ua_method_impl.js.map +1 -0
  401. package/dist/impl/ua_object_impl.d.ts +38 -0
  402. package/dist/impl/ua_object_impl.js +214 -0
  403. package/dist/impl/ua_object_impl.js.map +1 -0
  404. package/dist/impl/ua_object_type_impl.d.ts +55 -0
  405. package/dist/impl/ua_object_type_impl.js +131 -0
  406. package/dist/impl/ua_object_type_impl.js.map +1 -0
  407. package/dist/impl/ua_reference_type_impl.d.ts +42 -0
  408. package/dist/impl/ua_reference_type_impl.js +157 -0
  409. package/dist/impl/ua_reference_type_impl.js.map +1 -0
  410. package/dist/impl/ua_variable_impl.d.ts +391 -0
  411. package/dist/impl/ua_variable_impl.js +2001 -0
  412. package/dist/impl/ua_variable_impl.js.map +1 -0
  413. package/dist/impl/ua_variable_impl_ext_obj.d.ts +23 -0
  414. package/dist/impl/ua_variable_impl_ext_obj.js +753 -0
  415. package/dist/impl/ua_variable_impl_ext_obj.js.map +1 -0
  416. package/dist/impl/ua_variable_type_impl.d.ts +79 -0
  417. package/dist/impl/ua_variable_type_impl.js +279 -0
  418. package/dist/impl/ua_variable_type_impl.js.map +1 -0
  419. package/dist/impl/ua_view_impl.d.ts +18 -0
  420. package/dist/impl/ua_view_impl.js +45 -0
  421. package/dist/impl/ua_view_impl.js.map +1 -0
  422. package/dist/impl/validate_data_type_correctness.d.ts +6 -0
  423. package/dist/impl/validate_data_type_correctness.js +123 -0
  424. package/dist/impl/validate_data_type_correctness.js.map +1 -0
  425. package/dist/tsconfig_base.tsbuildinfo +1 -1
  426. package/distHelpers/address_space_digest.d.ts +4 -0
  427. package/distHelpers/address_space_digest.js +9 -0
  428. package/distHelpers/address_space_digest.js.map +1 -0
  429. package/distHelpers/alarms_and_conditions_demo.d.ts +1 -1
  430. package/distHelpers/assertHasMatchingReference.d.ts +1 -1
  431. package/distHelpers/boiler_system.d.ts +1 -1
  432. package/distHelpers/boiler_system.js +3 -3
  433. package/distHelpers/boiler_system.js.map +1 -1
  434. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +1 -1
  435. package/distHelpers/get_address_space_fixture.js +38 -22
  436. package/distHelpers/get_address_space_fixture.js.map +1 -1
  437. package/distHelpers/get_mini_address_space.d.ts +1 -1
  438. package/distHelpers/get_mini_address_space.js +7 -7
  439. package/distHelpers/get_mini_address_space.js.map +1 -1
  440. package/distHelpers/index.d.ts +9 -9
  441. package/distHelpers/index.js +9 -9
  442. package/distHelpers/index.js.map +1 -1
  443. package/distHelpers/mock_session.d.ts +1 -1
  444. package/distHelpers/mock_session.js +2 -2
  445. package/distHelpers/mock_session.js.map +1 -1
  446. package/distNodeJS/address_space_digest.d.ts +13 -0
  447. package/distNodeJS/address_space_digest.js +31 -0
  448. package/distNodeJS/address_space_digest.js.map +1 -0
  449. package/distNodeJS/generate_address_space.d.ts +35 -2
  450. package/distNodeJS/generate_address_space.js +201 -7
  451. package/distNodeJS/generate_address_space.js.map +1 -1
  452. package/distNodeJS/index.d.ts +3 -1
  453. package/distNodeJS/index.js +3 -1
  454. package/distNodeJS/index.js.map +1 -1
  455. package/distNodeJS/nodeset_image_file_store.d.ts +29 -0
  456. package/distNodeJS/nodeset_image_file_store.js +120 -0
  457. package/distNodeJS/nodeset_image_file_store.js.map +1 -0
  458. package/impl/_instantiate_helpers.ts +197 -0
  459. package/impl/_mandatory_child_or_requested_optional_filter.ts +100 -0
  460. package/impl/address_space.ts +1572 -0
  461. package/impl/address_space_change_event_tools.ts +177 -0
  462. package/impl/address_space_private.ts +100 -0
  463. package/impl/alarms_and_conditions/condition_info_impl.ts +45 -0
  464. package/impl/alarms_and_conditions/condition_snapshot_impl.ts +793 -0
  465. package/impl/alarms_and_conditions/deviation_alarm_helper.ts +73 -0
  466. package/impl/alarms_and_conditions/index.ts +16 -0
  467. package/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +351 -0
  468. package/impl/alarms_and_conditions/ua_alarm_condition_impl.ts +515 -0
  469. package/impl/alarms_and_conditions/ua_base_event_impl.ts +61 -0
  470. package/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +246 -0
  471. package/impl/alarms_and_conditions/ua_condition_impl.ts +1286 -0
  472. package/impl/alarms_and_conditions/ua_discrete_alarm_impl.ts +60 -0
  473. package/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +95 -0
  474. package/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +21 -0
  475. package/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +112 -0
  476. package/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +25 -0
  477. package/impl/alarms_and_conditions/ua_limit_alarm_impl.ts +265 -0
  478. package/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +94 -0
  479. package/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +232 -0
  480. package/impl/alarms_and_conditions/ua_off_normal_alarm_impl.ts +216 -0
  481. package/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +26 -0
  482. package/impl/apply_condition_refresh.ts +56 -0
  483. package/impl/base_node_impl.ts +2165 -0
  484. package/impl/base_node_private.ts +1420 -0
  485. package/impl/child_accessors.ts +239 -0
  486. package/impl/data_access/adjust_datavalue_status_code.ts +36 -0
  487. package/impl/data_access/ua_multistate_discrete_impl.ts +198 -0
  488. package/impl/data_access/ua_multistate_value_discrete_impl.ts +384 -0
  489. package/impl/data_access/ua_two_state_discrete_impl.ts +195 -0
  490. package/impl/event_data.ts +80 -0
  491. package/impl/event_layout.ts +141 -0
  492. package/impl/extension_object_array_node.ts +343 -0
  493. package/impl/handle_hierarchy_parent.ts +133 -0
  494. package/impl/historical_access/address_space_historical_data_node.ts +849 -0
  495. package/impl/historizer_factory.ts +17 -0
  496. package/impl/namespace_impl.ts +2323 -0
  497. package/impl/namespace_private.ts +68 -0
  498. package/impl/nodeid_manager.ts +293 -0
  499. package/impl/nodeset_tools/construct_namespace_dependency.ts +381 -0
  500. package/impl/nodeset_tools/dump_to_bsd.ts +210 -0
  501. package/impl/nodeset_tools/nodeset_to_records.ts +846 -0
  502. package/impl/nodeset_tools/nodeset_to_xml.ts +1326 -0
  503. package/impl/private_namespace.ts +21 -0
  504. package/impl/reference_impl.ts +244 -0
  505. package/impl/reference_type_version.ts +19 -0
  506. package/impl/state_machine/finite_state_machine.ts +676 -0
  507. package/impl/state_machine/ua_shelving_state_machine_ex.ts +356 -0
  508. package/impl/state_machine/ua_two_state_variable.ts +421 -0
  509. package/impl/tool_isSubtypeOf.ts +168 -0
  510. package/impl/ua_data_type_impl.ts +486 -0
  511. package/impl/ua_method_impl.ts +364 -0
  512. package/impl/ua_object_impl.ts +278 -0
  513. package/impl/ua_object_type_impl.ts +179 -0
  514. package/impl/ua_reference_type_impl.ts +179 -0
  515. package/impl/ua_variable_impl.ts +2559 -0
  516. package/impl/ua_variable_impl_ext_obj.ts +904 -0
  517. package/impl/ua_variable_type_impl.ts +390 -0
  518. package/impl/ua_view_impl.ts +53 -0
  519. package/impl/validate_data_type_correctness.ts +142 -0
  520. package/package.json +49 -44
  521. package/source_nodejs/address_space_digest.ts +35 -0
  522. package/source_nodejs/generate_address_space.ts +181 -8
  523. package/source_nodejs/index.ts +3 -1
  524. package/source_nodejs/nodeset_image_file_store.ts +127 -0
  525. package/dist/source/address_space_ts.d.ts +0 -128
  526. package/dist/source/address_space_ts.js +0 -23
  527. package/dist/source/address_space_ts.js.map +0 -1
  528. package/dist/source/continuation_points/continuation_point_manager.js +0 -230
  529. package/dist/source/continuation_points/continuation_point_manager.js.map +0 -1
  530. package/dist/source/helpers/adjust_browse_direction.js.map +0 -1
  531. package/dist/source/helpers/argument_list.js +0 -263
  532. package/dist/source/helpers/argument_list.js.map +0 -1
  533. package/dist/source/helpers/call_helpers.js +0 -80
  534. package/dist/source/helpers/call_helpers.js.map +0 -1
  535. package/dist/source/helpers/coerce_enum_value.d.ts +0 -6
  536. package/dist/source/helpers/coerce_enum_value.js.map +0 -1
  537. package/dist/source/helpers/dump_tools.js +0 -81
  538. package/dist/source/helpers/dump_tools.js.map +0 -1
  539. package/dist/source/helpers/ensure_secure_access.d.ts +0 -9
  540. package/dist/source/helpers/ensure_secure_access.js +0 -58
  541. package/dist/source/helpers/ensure_secure_access.js.map +0 -1
  542. package/dist/source/helpers/make_optionals_map.js.map +0 -1
  543. package/dist/source/helpers/multiform_func.js +0 -75
  544. package/dist/source/helpers/multiform_func.js.map +0 -1
  545. package/dist/source/helpers/resolve_opaque_on_address_space.js +0 -25
  546. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +0 -1
  547. package/dist/source/index.d.ts +0 -66
  548. package/dist/source/index.js +0 -97
  549. package/dist/source/index.js.map +0 -1
  550. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +0 -21
  551. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +0 -3
  552. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +0 -1
  553. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +0 -150
  554. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +0 -1
  555. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +0 -12
  556. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js.map +0 -1
  557. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js.map +0 -1
  558. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +0 -7
  559. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +0 -1
  560. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +0 -1
  561. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +0 -4
  562. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +0 -1
  563. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +0 -4
  564. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +0 -1
  565. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +0 -10
  566. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +0 -1
  567. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +0 -4
  568. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +0 -1
  569. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +0 -4
  570. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +0 -1
  571. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +0 -20
  572. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +0 -1
  573. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +0 -21
  574. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +0 -1
  575. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +0 -33
  576. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +0 -1
  577. package/dist/source/interfaces/alarms_and_conditions/ua_base_event_ex.js.map +0 -1
  578. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +0 -19
  579. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +0 -1
  580. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +0 -44
  581. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js.map +0 -1
  582. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +0 -4
  583. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +0 -1
  584. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +0 -5
  585. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +0 -1
  586. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +0 -19
  587. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +0 -1
  588. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +0 -25
  589. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +0 -1
  590. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +0 -8
  591. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +0 -1
  592. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +0 -10
  593. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +0 -1
  594. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +0 -44
  595. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +0 -1
  596. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +0 -22
  597. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +0 -1
  598. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +0 -13
  599. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +0 -1
  600. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +0 -1
  601. package/dist/source/interfaces/extension_object_constructor.js.map +0 -1
  602. package/dist/source/interfaces/i_condition_variable_type_setter_options.js.map +0 -1
  603. package/dist/source/interfaces/i_set_state_options.js.map +0 -1
  604. package/dist/source/interfaces/nodeset_loader_options.d.ts +0 -37
  605. package/dist/source/interfaces/nodeset_loader_options.js.map +0 -1
  606. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +0 -12
  607. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +0 -1
  608. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +0 -49
  609. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +0 -1
  610. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +0 -11
  611. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +0 -1
  612. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +0 -29
  613. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +0 -1
  614. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +0 -236
  615. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +0 -1
  616. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +0 -1
  617. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +0 -1
  618. package/dist/source/loader/decode_xml_extension_object.d.ts +0 -6
  619. package/dist/source/loader/decode_xml_extension_object.js +0 -69
  620. package/dist/source/loader/decode_xml_extension_object.js.map +0 -1
  621. package/dist/source/loader/ensure_datatype_extracted.js +0 -88
  622. package/dist/source/loader/ensure_datatype_extracted.js.map +0 -1
  623. package/dist/source/loader/generateAddressSpaceRaw.d.ts +0 -29
  624. package/dist/source/loader/generateAddressSpaceRaw.js +0 -188
  625. package/dist/source/loader/generateAddressSpaceRaw.js.map +0 -1
  626. package/dist/source/loader/load_nodeset2.d.ts +0 -15
  627. package/dist/source/loader/load_nodeset2.js +0 -1047
  628. package/dist/source/loader/load_nodeset2.js.map +0 -1
  629. package/dist/source/loader/make_semver_compatible.js.map +0 -1
  630. package/dist/source/loader/make_xml_extension_object_parser.js +0 -422
  631. package/dist/source/loader/make_xml_extension_object_parser.js.map +0 -1
  632. package/dist/source/loader/namespace_post_step.js +0 -57
  633. package/dist/source/loader/namespace_post_step.js.map +0 -1
  634. package/dist/source/loader/parsers/extension_object_parser.js +0 -274
  635. package/dist/source/loader/parsers/extension_object_parser.js.map +0 -1
  636. package/dist/source/loader/parsers/localized_text_parser.js.map +0 -1
  637. package/dist/source/loader/parsers/nodeid_parser.js.map +0 -1
  638. package/dist/source/loader/parsers/qualified_name_parser.js.map +0 -1
  639. package/dist/source/loader/parsers/variant_parser.d.ts +0 -35
  640. package/dist/source/loader/parsers/variant_parser.js +0 -331
  641. package/dist/source/loader/parsers/variant_parser.js.map +0 -1
  642. package/dist/source/loader/register_node_promoter.d.ts +0 -2
  643. package/dist/source/loader/register_node_promoter.js +0 -9
  644. package/dist/source/loader/register_node_promoter.js.map +0 -1
  645. package/dist/source/namespace.d.ts +0 -6
  646. package/dist/source/namespace.js.map +0 -1
  647. package/dist/source/namespace_alarm_and_condition.d.ts +0 -33
  648. package/dist/source/namespace_alarm_and_condition.js.map +0 -1
  649. package/dist/source/namespace_data_access.d.ts +0 -67
  650. package/dist/source/namespace_data_access.js.map +0 -1
  651. package/dist/source/namespace_machine_state.d.ts +0 -8
  652. package/dist/source/namespace_machine_state.js.map +0 -1
  653. package/dist/source/pseudo_session.d.ts +0 -74
  654. package/dist/source/pseudo_session.js +0 -308
  655. package/dist/source/pseudo_session.js.map +0 -1
  656. package/dist/source/session_context.d.ts +0 -241
  657. package/dist/source/session_context.js.map +0 -1
  658. package/dist/source/set_namespace_meta_data.js.map +0 -1
  659. package/dist/source/ua_addin.js.map +0 -1
  660. package/dist/source/ua_interface.js +0 -25
  661. package/dist/source/ua_interface.js.map +0 -1
  662. package/dist/source/ua_root_folder.js.map +0 -1
  663. package/dist/source/ua_two_state_variable_ex.d.ts +0 -24
  664. package/dist/source/ua_two_state_variable_ex.js.map +0 -1
  665. package/dist/source/xml_writer.js.map +0 -1
  666. package/dist/src/_instantiate_helpers.js +0 -99
  667. package/dist/src/_instantiate_helpers.js.map +0 -1
  668. package/dist/src/_mandatory_child_or_requested_optional_filter.js +0 -82
  669. package/dist/src/_mandatory_child_or_requested_optional_filter.js.map +0 -1
  670. package/dist/src/address_space.d.ts +0 -369
  671. package/dist/src/address_space.js +0 -1416
  672. package/dist/src/address_space.js.map +0 -1
  673. package/dist/src/address_space_change_event_tools.d.ts +0 -6
  674. package/dist/src/address_space_change_event_tools.js.map +0 -1
  675. package/dist/src/address_space_private.d.ts +0 -45
  676. package/dist/src/address_space_private.js.map +0 -1
  677. package/dist/src/alarms_and_conditions/condition.js.map +0 -1
  678. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +0 -18
  679. package/dist/src/alarms_and_conditions/condition_info_impl.js +0 -38
  680. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +0 -1
  681. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +0 -269
  682. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +0 -699
  683. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +0 -1
  684. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +0 -12
  685. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +0 -66
  686. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +0 -1
  687. package/dist/src/alarms_and_conditions/index.d.ts +0 -16
  688. package/dist/src/alarms_and_conditions/index.js +0 -33
  689. package/dist/src/alarms_and_conditions/index.js.map +0 -1
  690. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +0 -42
  691. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +0 -243
  692. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +0 -1
  693. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +0 -80
  694. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +0 -415
  695. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +0 -1
  696. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +0 -18
  697. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +0 -33
  698. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +0 -1
  699. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +0 -44
  700. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +0 -203
  701. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +0 -1
  702. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +0 -104
  703. package/dist/src/alarms_and_conditions/ua_condition_impl.js +0 -1017
  704. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +0 -1
  705. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +0 -19
  706. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +0 -39
  707. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +0 -1
  708. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +0 -25
  709. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +0 -55
  710. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +0 -1
  711. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +0 -11
  712. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +0 -12
  713. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +0 -1
  714. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +0 -23
  715. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +0 -87
  716. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +0 -1
  717. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +0 -10
  718. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +0 -8
  719. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +0 -1
  720. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +0 -26
  721. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +0 -208
  722. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +0 -1
  723. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +0 -23
  724. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +0 -55
  725. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +0 -1
  726. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +0 -27
  727. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +0 -173
  728. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +0 -1
  729. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +0 -43
  730. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +0 -168
  731. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +0 -1
  732. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +0 -18
  733. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +0 -18
  734. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +0 -1
  735. package/dist/src/apply_condition_refresh.d.ts +0 -4
  736. package/dist/src/apply_condition_refresh.js +0 -27
  737. package/dist/src/apply_condition_refresh.js.map +0 -1
  738. package/dist/src/base_node_impl.d.ts +0 -287
  739. package/dist/src/base_node_impl.js +0 -1538
  740. package/dist/src/base_node_impl.js.map +0 -1
  741. package/dist/src/base_node_private.d.ts +0 -87
  742. package/dist/src/base_node_private.js +0 -925
  743. package/dist/src/base_node_private.js.map +0 -1
  744. package/dist/src/check_value_rank_compatibility.js.map +0 -1
  745. package/dist/src/data_access/add_dataItem_stuff.js.map +0 -1
  746. package/dist/src/data_access/adjust_datavalue_status_code.d.ts +0 -7
  747. package/dist/src/data_access/adjust_datavalue_status_code.js.map +0 -1
  748. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +0 -35
  749. package/dist/src/data_access/ua_multistate_discrete_impl.js +0 -142
  750. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +0 -1
  751. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +0 -51
  752. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +0 -302
  753. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +0 -1
  754. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +0 -20
  755. package/dist/src/data_access/ua_two_state_discrete_impl.js +0 -163
  756. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +0 -1
  757. package/dist/src/event_data.d.ts +0 -18
  758. package/dist/src/event_data.js +0 -70
  759. package/dist/src/event_data.js.map +0 -1
  760. package/dist/src/extension_object_array_node.d.ts +0 -34
  761. package/dist/src/extension_object_array_node.js +0 -262
  762. package/dist/src/extension_object_array_node.js.map +0 -1
  763. package/dist/src/get_basic_datatype.js.map +0 -1
  764. package/dist/src/historical_access/address_space_historical_data_node.d.ts +0 -21
  765. package/dist/src/historical_access/address_space_historical_data_node.js +0 -654
  766. package/dist/src/historical_access/address_space_historical_data_node.js.map +0 -1
  767. package/dist/src/idx_iterator.js.map +0 -1
  768. package/dist/src/index_current.d.ts +0 -50
  769. package/dist/src/index_current.js +0 -82
  770. package/dist/src/index_current.js.map +0 -1
  771. package/dist/src/namespace_impl.d.ts +0 -450
  772. package/dist/src/namespace_impl.js +0 -1876
  773. package/dist/src/namespace_impl.js.map +0 -1
  774. package/dist/src/namespace_private.d.ts +0 -31
  775. package/dist/src/namespace_private.js.map +0 -1
  776. package/dist/src/nodeid_manager.js +0 -249
  777. package/dist/src/nodeid_manager.js.map +0 -1
  778. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +0 -1
  779. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +0 -33
  780. package/dist/src/nodeset_tools/construct_namespace_dependency.js +0 -347
  781. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +0 -1
  782. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +0 -2
  783. package/dist/src/nodeset_tools/dump_to_bsd.js +0 -164
  784. package/dist/src/nodeset_tools/dump_to_bsd.js.map +0 -1
  785. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +0 -12
  786. package/dist/src/nodeset_tools/nodeset_to_xml.js +0 -1381
  787. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +0 -1
  788. package/dist/src/private_namespace.d.ts +0 -5
  789. package/dist/src/private_namespace.js.map +0 -1
  790. package/dist/src/reference_impl.d.ts +0 -43
  791. package/dist/src/reference_impl.js +0 -152
  792. package/dist/src/reference_impl.js.map +0 -1
  793. package/dist/src/role_permissions.js.map +0 -1
  794. package/dist/src/state_machine/finite_state_machine.d.ts +0 -70
  795. package/dist/src/state_machine/finite_state_machine.js +0 -574
  796. package/dist/src/state_machine/finite_state_machine.js.map +0 -1
  797. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +0 -39
  798. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +0 -249
  799. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +0 -1
  800. package/dist/src/state_machine/ua_two_state_variable.d.ts +0 -55
  801. package/dist/src/state_machine/ua_two_state_variable.js +0 -323
  802. package/dist/src/state_machine/ua_two_state_variable.js.map +0 -1
  803. package/dist/src/tool_isSubtypeOf.d.ts +0 -18
  804. package/dist/src/tool_isSubtypeOf.js +0 -130
  805. package/dist/src/tool_isSubtypeOf.js.map +0 -1
  806. package/dist/src/ua_condition_type.js.map +0 -1
  807. package/dist/src/ua_data_type_impl.d.ts +0 -87
  808. package/dist/src/ua_data_type_impl.js +0 -393
  809. package/dist/src/ua_data_type_impl.js.map +0 -1
  810. package/dist/src/ua_method_impl.d.ts +0 -48
  811. package/dist/src/ua_method_impl.js +0 -280
  812. package/dist/src/ua_method_impl.js.map +0 -1
  813. package/dist/src/ua_object_impl.d.ts +0 -38
  814. package/dist/src/ua_object_impl.js +0 -214
  815. package/dist/src/ua_object_impl.js.map +0 -1
  816. package/dist/src/ua_object_type_impl.d.ts +0 -55
  817. package/dist/src/ua_object_type_impl.js +0 -131
  818. package/dist/src/ua_object_type_impl.js.map +0 -1
  819. package/dist/src/ua_reference_type_impl.d.ts +0 -42
  820. package/dist/src/ua_reference_type_impl.js +0 -146
  821. package/dist/src/ua_reference_type_impl.js.map +0 -1
  822. package/dist/src/ua_variable_impl.d.ts +0 -379
  823. package/dist/src/ua_variable_impl.js +0 -1940
  824. package/dist/src/ua_variable_impl.js.map +0 -1
  825. package/dist/src/ua_variable_impl_ext_obj.d.ts +0 -23
  826. package/dist/src/ua_variable_impl_ext_obj.js +0 -752
  827. package/dist/src/ua_variable_impl_ext_obj.js.map +0 -1
  828. package/dist/src/ua_variable_type_impl.d.ts +0 -79
  829. package/dist/src/ua_variable_type_impl.js +0 -276
  830. package/dist/src/ua_variable_type_impl.js.map +0 -1
  831. package/dist/src/ua_view_impl.d.ts +0 -18
  832. package/dist/src/ua_view_impl.js +0 -45
  833. package/dist/src/ua_view_impl.js.map +0 -1
  834. package/dist/src/validate_data_type_correctness.d.ts +0 -6
  835. package/dist/src/validate_data_type_correctness.js +0 -106
  836. package/dist/src/validate_data_type_correctness.js.map +0 -1
  837. package/source/address_space_ts.ts +0 -220
  838. package/source/continuation_points/continuation_point_manager.ts +0 -271
  839. package/source/helpers/argument_list.ts +0 -310
  840. package/source/helpers/call_helpers.ts +0 -100
  841. package/source/helpers/coerce_enum_value.ts +0 -33
  842. package/source/helpers/dump_tools.ts +0 -90
  843. package/source/helpers/ensure_secure_access.ts +0 -57
  844. package/source/helpers/multiform_func.ts +0 -78
  845. package/source/helpers/resolve_opaque_on_address_space.ts +0 -26
  846. package/source/index.ts +0 -72
  847. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +0 -24
  848. package/source/interfaces/alarms_and_conditions/condition_snapshot.ts +0 -235
  849. package/source/interfaces/alarms_and_conditions/deviation_stuff.ts +0 -16
  850. package/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +0 -8
  851. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.ts +0 -6
  852. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +0 -6
  853. package/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +0 -13
  854. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.ts +0 -6
  855. package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.ts +0 -6
  856. package/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +0 -21
  857. package/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +0 -28
  858. package/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +0 -43
  859. package/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +0 -36
  860. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +0 -55
  861. package/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +0 -17
  862. package/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +0 -21
  863. package/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +0 -21
  864. package/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +0 -26
  865. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +0 -29
  866. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +0 -25
  867. package/source/interfaces/data_access/ua_multistate_discrete_ex.ts +0 -57
  868. package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +0 -31
  869. package/source/interfaces/data_access/ua_two_state_discrete_ex.ts +0 -15
  870. package/source/interfaces/nodeset_loader_options.ts +0 -38
  871. package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +0 -20
  872. package/source/interfaces/state_machine/ua_finite_state_machine_type.ts +0 -50
  873. package/source/interfaces/state_machine/ua_program_state_machine_type.ts +0 -14
  874. package/source/interfaces/state_machine/ua_shelved_state_machine_ex.ts +0 -35
  875. package/source/interfaces/state_machine/ua_state_machine_type.ts +0 -288
  876. package/source/loader/decode_xml_extension_object.ts +0 -80
  877. package/source/loader/ensure_datatype_extracted.ts +0 -122
  878. package/source/loader/generateAddressSpaceRaw.ts +0 -219
  879. package/source/loader/load_nodeset2.ts +0 -1275
  880. package/source/loader/make_xml_extension_object_parser.ts +0 -524
  881. package/source/loader/namespace_post_step.ts +0 -68
  882. package/source/loader/parsers/extension_object_parser.ts +0 -374
  883. package/source/loader/parsers/variant_parser.ts +0 -433
  884. package/source/loader/register_node_promoter.ts +0 -6
  885. package/source/namespace.ts +0 -7
  886. package/source/namespace_alarm_and_condition.ts +0 -78
  887. package/source/namespace_data_access.ts +0 -92
  888. package/source/namespace_machine_state.ts +0 -20
  889. package/source/pseudo_session.ts +0 -415
  890. package/source/session_context.ts +0 -725
  891. package/source/ua_interface.ts +0 -38
  892. package/source/ua_two_state_variable_ex.ts +0 -36
  893. package/src/_instantiate_helpers.ts +0 -197
  894. package/src/_mandatory_child_or_requested_optional_filter.ts +0 -100
  895. package/src/address_space.ts +0 -1631
  896. package/src/address_space_change_event_tools.ts +0 -177
  897. package/src/address_space_private.ts +0 -96
  898. package/src/alarms_and_conditions/condition_info_impl.ts +0 -44
  899. package/src/alarms_and_conditions/condition_snapshot_impl.ts +0 -792
  900. package/src/alarms_and_conditions/deviation_alarm_helper.ts +0 -73
  901. package/src/alarms_and_conditions/index.ts +0 -16
  902. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +0 -331
  903. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +0 -479
  904. package/src/alarms_and_conditions/ua_base_event_impl.ts +0 -42
  905. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +0 -244
  906. package/src/alarms_and_conditions/ua_condition_impl.ts +0 -1261
  907. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +0 -57
  908. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +0 -94
  909. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +0 -20
  910. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +0 -109
  911. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +0 -25
  912. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +0 -244
  913. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +0 -88
  914. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +0 -223
  915. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +0 -218
  916. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +0 -26
  917. package/src/apply_condition_refresh.ts +0 -29
  918. package/src/base_node_impl.ts +0 -1907
  919. package/src/base_node_private.ts +0 -1287
  920. package/src/data_access/adjust_datavalue_status_code.ts +0 -36
  921. package/src/data_access/ua_multistate_discrete_impl.ts +0 -189
  922. package/src/data_access/ua_multistate_value_discrete_impl.ts +0 -369
  923. package/src/data_access/ua_two_state_discrete_impl.ts +0 -184
  924. package/src/event_data.ts +0 -83
  925. package/src/extension_object_array_node.ts +0 -331
  926. package/src/historical_access/address_space_historical_data_node.ts +0 -842
  927. package/src/index_current.ts +0 -51
  928. package/src/namespace_impl.ts +0 -2380
  929. package/src/namespace_private.ts +0 -77
  930. package/src/nodeid_manager.ts +0 -293
  931. package/src/nodeset_tools/construct_namespace_dependency.ts +0 -375
  932. package/src/nodeset_tools/dump_to_bsd.ts +0 -201
  933. package/src/nodeset_tools/nodeset_to_xml.ts +0 -1652
  934. package/src/private_namespace.ts +0 -21
  935. package/src/reference_impl.ts +0 -171
  936. package/src/state_machine/finite_state_machine.ts +0 -668
  937. package/src/state_machine/ua_shelving_state_machine_ex.ts +0 -330
  938. package/src/state_machine/ua_two_state_variable.ts +0 -421
  939. package/src/tool_isSubtypeOf.ts +0 -160
  940. package/src/ua_data_type_impl.ts +0 -483
  941. package/src/ua_method_impl.ts +0 -362
  942. package/src/ua_object_impl.ts +0 -278
  943. package/src/ua_object_type_impl.ts +0 -179
  944. package/src/ua_reference_type_impl.ts +0 -170
  945. package/src/ua_variable_impl.ts +0 -2489
  946. package/src/ua_variable_impl_ext_obj.ts +0 -903
  947. package/src/ua_variable_type_impl.ts +0 -385
  948. package/src/ua_view_impl.ts +0 -53
  949. package/src/validate_data_type_correctness.ts +0 -124
  950. /package/{source → api}/helpers/adjust_browse_direction.ts +0 -0
  951. /package/{source → api}/helpers/make_optionals_map.ts +0 -0
  952. /package/{source → api}/interfaces/alarms_and_conditions/install_setpoint_options.ts +0 -0
  953. /package/{source → api}/interfaces/alarms_and_conditions/instantiate_condition_options.ts +0 -0
  954. /package/{source → api}/interfaces/alarms_and_conditions/ua_base_event_ex.ts +0 -0
  955. /package/{source → api}/interfaces/data_access/ua_y_array_item_ex.ts +0 -0
  956. /package/{source → api}/interfaces/extension_object_constructor.ts +0 -0
  957. /package/{source → api}/interfaces/i_condition_variable_type_setter_options.ts +0 -0
  958. /package/{source → api}/interfaces/i_set_state_options.ts +0 -0
  959. /package/{source → api}/interfaces/state_machine/ua_transition_ex.ts +0 -0
  960. /package/{source → api}/interfaces/ua_subscription_diagnostics_variable_ex.ts +0 -0
  961. /package/{source → api}/loader/make_semver_compatible.ts +0 -0
  962. /package/{source → api}/loader/parsers/localized_text_parser.ts +0 -0
  963. /package/{source → api}/loader/parsers/nodeid_parser.ts +0 -0
  964. /package/{source → api}/loader/parsers/qualified_name_parser.ts +0 -0
  965. /package/{source → api}/set_namespace_meta_data.ts +0 -0
  966. /package/{source → api}/ua_addin.ts +0 -0
  967. /package/{source → api}/ua_root_folder.ts +0 -0
  968. /package/{source → api}/xml_writer.ts +0 -0
  969. /package/dist/{source → api}/continuation_points/continuation_point_manager.d.ts +0 -0
  970. /package/dist/{source → api}/helpers/adjust_browse_direction.d.ts +0 -0
  971. /package/dist/{source → api}/helpers/adjust_browse_direction.js +0 -0
  972. /package/dist/{source → api}/helpers/argument_list.d.ts +0 -0
  973. /package/dist/{source → api}/helpers/call_helpers.d.ts +0 -0
  974. /package/dist/{source → api}/helpers/coerce_enum_value.js +0 -0
  975. /package/dist/{source → api}/helpers/dump_tools.d.ts +0 -0
  976. /package/dist/{source → api}/helpers/make_optionals_map.d.ts +0 -0
  977. /package/dist/{source → api}/helpers/make_optionals_map.js +0 -0
  978. /package/dist/{source → api}/helpers/multiform_func.d.ts +0 -0
  979. /package/dist/{source → api}/helpers/resolve_opaque_on_address_space.d.ts +0 -0
  980. /package/dist/{source → api}/interfaces/alarms_and_conditions/condition_snapshot.js +0 -0
  981. /package/dist/{source → api}/interfaces/alarms_and_conditions/deviation_stuff.js +0 -0
  982. /package/dist/{source → api}/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +0 -0
  983. /package/dist/{source → api}/interfaces/alarms_and_conditions/install_setpoint_options.js +0 -0
  984. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +0 -0
  985. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +0 -0
  986. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_condition_options.js +0 -0
  987. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +0 -0
  988. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +0 -0
  989. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +0 -0
  990. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +0 -0
  991. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +0 -0
  992. /package/dist/{source → api}/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +0 -0
  993. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +0 -0
  994. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +0 -0
  995. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_base_event_ex.d.ts +0 -0
  996. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_base_event_ex.js +0 -0
  997. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +0 -0
  998. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_condition_ex.js +0 -0
  999. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +0 -0
  1000. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +0 -0
  1001. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +0 -0
  1002. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +0 -0
  1003. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +0 -0
  1004. /package/dist/{source → api}/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +0 -0
  1005. /package/dist/{source → api}/interfaces/data_access/ua_multistate_discrete_ex.js +0 -0
  1006. /package/dist/{source → api}/interfaces/data_access/ua_multistate_value_discrete_ex.js +0 -0
  1007. /package/dist/{source → api}/interfaces/data_access/ua_two_state_discrete_ex.js +0 -0
  1008. /package/dist/{source → api}/interfaces/data_access/ua_y_array_item_ex.d.ts +0 -0
  1009. /package/dist/{source → api}/interfaces/data_access/ua_y_array_item_ex.js +0 -0
  1010. /package/dist/{source → api}/interfaces/extension_object_constructor.d.ts +0 -0
  1011. /package/dist/{source → api}/interfaces/extension_object_constructor.js +0 -0
  1012. /package/dist/{source → api}/interfaces/i_condition_variable_type_setter_options.d.ts +0 -0
  1013. /package/dist/{source → api}/interfaces/i_condition_variable_type_setter_options.js +0 -0
  1014. /package/dist/{source → api}/interfaces/i_set_state_options.d.ts +0 -0
  1015. /package/dist/{source → api}/interfaces/i_set_state_options.js +0 -0
  1016. /package/dist/{source → api}/interfaces/nodeset_loader_options.js +0 -0
  1017. /package/dist/{source → api}/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +0 -0
  1018. /package/dist/{source → api}/interfaces/state_machine/ua_finite_state_machine_type.js +0 -0
  1019. /package/dist/{source → api}/interfaces/state_machine/ua_program_state_machine_type.js +0 -0
  1020. /package/dist/{source → api}/interfaces/state_machine/ua_shelved_state_machine_ex.js +0 -0
  1021. /package/dist/{source → api}/interfaces/state_machine/ua_state_machine_type.js +0 -0
  1022. /package/dist/{source → api}/interfaces/state_machine/ua_transition_ex.d.ts +0 -0
  1023. /package/dist/{source → api}/interfaces/state_machine/ua_transition_ex.js +0 -0
  1024. /package/dist/{source → api}/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +0 -0
  1025. /package/dist/{source → api}/interfaces/ua_subscription_diagnostics_variable_ex.js +0 -0
  1026. /package/dist/{source → api}/loader/ensure_datatype_extracted.d.ts +0 -0
  1027. /package/dist/{source → api}/loader/make_semver_compatible.d.ts +0 -0
  1028. /package/dist/{source → api}/loader/make_semver_compatible.js +0 -0
  1029. /package/dist/{source → api}/loader/make_xml_extension_object_parser.d.ts +0 -0
  1030. /package/dist/{source → api}/loader/namespace_post_step.d.ts +0 -0
  1031. /package/dist/{source → api}/loader/parsers/extension_object_parser.d.ts +0 -0
  1032. /package/dist/{source → api}/loader/parsers/localized_text_parser.d.ts +0 -0
  1033. /package/dist/{source → api}/loader/parsers/localized_text_parser.js +0 -0
  1034. /package/dist/{source → api}/loader/parsers/nodeid_parser.d.ts +0 -0
  1035. /package/dist/{source → api}/loader/parsers/nodeid_parser.js +0 -0
  1036. /package/dist/{source → api}/loader/parsers/qualified_name_parser.d.ts +0 -0
  1037. /package/dist/{source → api}/loader/parsers/qualified_name_parser.js +0 -0
  1038. /package/dist/{source → api}/namespace.js +0 -0
  1039. /package/dist/{source → api}/namespace_alarm_and_condition.js +0 -0
  1040. /package/dist/{source → api}/namespace_data_access.js +0 -0
  1041. /package/dist/{source → api}/namespace_machine_state.js +0 -0
  1042. /package/dist/{source → api}/session_context.js +0 -0
  1043. /package/dist/{source → api}/set_namespace_meta_data.d.ts +0 -0
  1044. /package/dist/{source → api}/set_namespace_meta_data.js +0 -0
  1045. /package/dist/{source → api}/ua_addin.d.ts +0 -0
  1046. /package/dist/{source → api}/ua_addin.js +0 -0
  1047. /package/dist/{source → api}/ua_interface.d.ts +0 -0
  1048. /package/dist/{source → api}/ua_root_folder.d.ts +0 -0
  1049. /package/dist/{source → api}/ua_root_folder.js +0 -0
  1050. /package/dist/{source → api}/ua_two_state_variable_ex.js +0 -0
  1051. /package/dist/{source → api}/xml_writer.d.ts +0 -0
  1052. /package/dist/{source → api}/xml_writer.js +0 -0
  1053. /package/dist/{src → impl}/_instantiate_helpers.d.ts +0 -0
  1054. /package/dist/{src → impl}/_mandatory_child_or_requested_optional_filter.d.ts +0 -0
  1055. /package/dist/{src → impl}/address_space_change_event_tools.js +0 -0
  1056. /package/dist/{src → impl}/address_space_private.js +0 -0
  1057. /package/dist/{src → impl}/alarms_and_conditions/condition.d.ts +0 -0
  1058. /package/dist/{src → impl}/alarms_and_conditions/condition.js +0 -0
  1059. /package/dist/{src → impl}/check_value_rank_compatibility.d.ts +0 -0
  1060. /package/dist/{src → impl}/check_value_rank_compatibility.js +0 -0
  1061. /package/dist/{src → impl}/data_access/add_dataItem_stuff.d.ts +0 -0
  1062. /package/dist/{src → impl}/data_access/add_dataItem_stuff.js +0 -0
  1063. /package/dist/{src → impl}/data_access/adjust_datavalue_status_code.js +0 -0
  1064. /package/dist/{src → impl}/get_basic_datatype.d.ts +0 -0
  1065. /package/dist/{src → impl}/get_basic_datatype.js +0 -0
  1066. /package/dist/{src → impl}/idx_iterator.d.ts +0 -0
  1067. /package/dist/{src → impl}/idx_iterator.js +0 -0
  1068. /package/dist/{src → impl}/namespace_private.js +0 -0
  1069. /package/dist/{src → impl}/nodeid_manager.d.ts +0 -0
  1070. /package/dist/{src → impl}/nodeset_tools/adjust_namespace_array.d.ts +0 -0
  1071. /package/dist/{src → impl}/nodeset_tools/adjust_namespace_array.js +0 -0
  1072. /package/dist/{src → impl}/private_namespace.js +0 -0
  1073. /package/dist/{src → impl}/role_permissions.d.ts +0 -0
  1074. /package/dist/{src → impl}/role_permissions.js +0 -0
  1075. /package/dist/{src → impl}/ua_condition_type.d.ts +0 -0
  1076. /package/dist/{src → impl}/ua_condition_type.js +0 -0
  1077. /package/{src → impl}/alarms_and_conditions/condition.ts +0 -0
  1078. /package/{src → impl}/check_value_rank_compatibility.ts +0 -0
  1079. /package/{src → impl}/data_access/add_dataItem_stuff.ts +0 -0
  1080. /package/{src → impl}/get_basic_datatype.ts +0 -0
  1081. /package/{src → impl}/idx_iterator.ts +0 -0
  1082. /package/{src → impl}/nodeset_tools/adjust_namespace_array.ts +0 -0
  1083. /package/{src → impl}/role_permissions.ts +0 -0
  1084. /package/{src → impl}/ua_condition_type.ts +0 -0
@@ -1,1876 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NamespaceImpl = void 0;
7
- exports._handle_hierarchy_parent = _handle_hierarchy_parent;
8
- exports.isNonEmptyQualifiedName = isNonEmptyQualifiedName;
9
- /**
10
- * @module node-opcua-address-space
11
- */
12
- const chalk_1 = __importDefault(require("chalk"));
13
- const node_opcua_assert_1 = require("node-opcua-assert");
14
- const node_opcua_basic_types_1 = require("node-opcua-basic-types");
15
- const node_opcua_data_access_1 = require("node-opcua-data-access");
16
- const node_opcua_data_model_1 = require("node-opcua-data-model");
17
- const node_opcua_debug_1 = require("node-opcua-debug");
18
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
19
- const node_opcua_status_code_1 = require("node-opcua-status-code");
20
- const node_opcua_types_1 = require("node-opcua-types");
21
- const node_opcua_utils_1 = require("node-opcua-utils");
22
- const node_opcua_variant_1 = require("node-opcua-variant");
23
- const address_space_change_event_tools_1 = require("./address_space_change_event_tools");
24
- const alarms_and_conditions_1 = require("./alarms_and_conditions");
25
- const ua_exclusive_deviation_alarm_impl_1 = require("./alarms_and_conditions/ua_exclusive_deviation_alarm_impl");
26
- const ua_exclusive_limit_alarm_impl_1 = require("./alarms_and_conditions/ua_exclusive_limit_alarm_impl");
27
- const ua_limit_alarm_impl_1 = require("./alarms_and_conditions/ua_limit_alarm_impl");
28
- const ua_non_exclusive_deviation_alarm_impl_1 = require("./alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl");
29
- const ua_non_exclusive_limit_alarm_impl_1 = require("./alarms_and_conditions/ua_non_exclusive_limit_alarm_impl");
30
- const ua_off_normal_alarm_impl_1 = require("./alarms_and_conditions/ua_off_normal_alarm_impl");
31
- const base_node_impl_1 = require("./base_node_impl");
32
- const add_dataItem_stuff_1 = require("./data_access/add_dataItem_stuff");
33
- const ua_multistate_discrete_impl_1 = require("./data_access/ua_multistate_discrete_impl");
34
- const ua_multistate_value_discrete_impl_1 = require("./data_access/ua_multistate_value_discrete_impl");
35
- const ua_two_state_discrete_impl_1 = require("./data_access/ua_two_state_discrete_impl");
36
- //
37
- const namespace_private_1 = require("./namespace_private");
38
- const nodeid_manager_1 = require("./nodeid_manager");
39
- const role_permissions_1 = require("./role_permissions");
40
- // state machine
41
- const ua_two_state_variable_1 = require("./state_machine/ua_two_state_variable");
42
- const ua_data_type_impl_1 = require("./ua_data_type_impl");
43
- const ua_method_impl_1 = require("./ua_method_impl");
44
- const ua_object_impl_1 = require("./ua_object_impl");
45
- const ua_object_type_impl_1 = require("./ua_object_type_impl");
46
- const ua_reference_type_impl_1 = require("./ua_reference_type_impl");
47
- const ua_variable_impl_1 = require("./ua_variable_impl");
48
- const ua_variable_type_impl_1 = require("./ua_variable_type_impl");
49
- const ua_view_impl_1 = require("./ua_view_impl");
50
- function _makeHashKey(nodeId) {
51
- switch (nodeId.identifierType) {
52
- case node_opcua_nodeid_1.NodeIdType.STRING:
53
- case node_opcua_nodeid_1.NodeIdType.GUID:
54
- return nodeId.value;
55
- case node_opcua_nodeid_1.NodeIdType.NUMERIC:
56
- return nodeId.value;
57
- default:
58
- // c8 ignore next
59
- if (nodeId.identifierType !== node_opcua_nodeid_1.NodeIdType.BYTESTRING) {
60
- throw new Error("invalid nodeIdType");
61
- }
62
- return nodeId.value ? nodeId.value.toString() : "OPAQUE:0";
63
- }
64
- }
65
- const doDebug = false;
66
- const errorLog = (0, node_opcua_debug_1.make_errorLog)("AddressSpace");
67
- const warningLog = (0, node_opcua_debug_1.make_warningLog)("AddressSpace");
68
- const regExp1 = /^(s|i|b|g)=/;
69
- const regExpNamespaceDotBrowseName = /^[0-9]+:(.*)/;
70
- function detachNode(node) {
71
- const addressSpace = node.addressSpace;
72
- const nonHierarchicalReferences = node.findReferencesEx("NonHierarchicalReferences", node_opcua_data_model_1.BrowseDirection.Inverse);
73
- for (const ref of nonHierarchicalReferences) {
74
- (0, node_opcua_assert_1.assert)(!ref.isForward);
75
- ref.node?.removeReference({
76
- isForward: !ref.isForward,
77
- nodeId: node.nodeId,
78
- referenceType: ref.referenceType
79
- });
80
- }
81
- const nonHierarchicalReferencesF = node.findReferencesEx("NonHierarchicalReferences", node_opcua_data_model_1.BrowseDirection.Forward);
82
- for (const ref of nonHierarchicalReferencesF) {
83
- if (!ref.node) {
84
- // could be a special case of a frequently use target node such as ModellingRule_Mandatory that do not back trace
85
- // their reference
86
- continue;
87
- }
88
- (0, node_opcua_assert_1.assert)(ref.isForward);
89
- ref.node?.removeReference({
90
- isForward: !ref.isForward,
91
- nodeId: node.nodeId,
92
- referenceType: ref.referenceType
93
- });
94
- }
95
- // remove reversed Hierarchical references
96
- const hierarchicalReferences = node.findReferencesEx("HierarchicalReferences", node_opcua_data_model_1.BrowseDirection.Inverse);
97
- for (const ref of hierarchicalReferences) {
98
- (0, node_opcua_assert_1.assert)(!ref.isForward);
99
- const parent = addressSpace.findNode(ref.nodeId);
100
- parent.removeReference({
101
- isForward: !ref.isForward,
102
- nodeId: node.nodeId,
103
- referenceType: ref.referenceType
104
- });
105
- }
106
- node.unpropagate_back_references();
107
- }
108
- function toNodeId(nodeId) {
109
- if (!nodeId) {
110
- return undefined;
111
- }
112
- if (nodeId instanceof node_opcua_nodeid_1.NodeId) {
113
- return nodeId;
114
- }
115
- if (typeof nodeId === "string") {
116
- return (0, node_opcua_nodeid_1.coerceNodeId)(nodeId);
117
- }
118
- if (typeof nodeId === "number") {
119
- return (0, node_opcua_nodeid_1.coerceNodeId)(nodeId);
120
- }
121
- return nodeId.nodeId;
122
- }
123
- /**
124
- *
125
- * @constructor
126
- * @params options {Object}
127
- * @params options.namespaceUri {string}
128
- * @params options.addressSpace {IAddressSpace}
129
- * @params options.index {number}
130
- * @params options.version="" {string}
131
- * @params options.publicationDate="" {Date}
132
- *
133
- */
134
- class NamespaceImpl {
135
- static _handle_hierarchy_parent = _handle_hierarchy_parent;
136
- static isNonEmptyQualifiedName = isNonEmptyQualifiedName;
137
- namespaceUri;
138
- addressSpace;
139
- index;
140
- emulateVersion103 = false;
141
- version = "0.0.0";
142
- publicationDate = new Date(Date.UTC(1900, 0, 1));
143
- registerSymbolicNames = false;
144
- _requiredModels;
145
- _objectTypeMap;
146
- _variableTypeMap;
147
- _referenceTypeMap;
148
- _dataTypeMap;
149
- _referenceTypeMapInv;
150
- _nodeIdManager;
151
- _nodeid_index;
152
- _aliases;
153
- defaultAccessRestrictions;
154
- defaultRolePermissions;
155
- constructor(options) {
156
- // c8 ignore next
157
- if (!(typeof options.namespaceUri === "string")) {
158
- throw new Error(`NamespaceImpl constructor: namespaceUri must exists and be a string : got ${options.namespaceUri}`);
159
- }
160
- // c8 ignore next
161
- if (typeof options.index !== "number") {
162
- throw new Error("NamespaceImpl constructor: index must be a number");
163
- }
164
- // c8 ignore next
165
- if (!options.addressSpace) {
166
- throw new Error("NamespaceImpl constructor: Must specify a valid address space");
167
- }
168
- this.namespaceUri = options.namespaceUri;
169
- this.addressSpace = options.addressSpace;
170
- this.index = options.index;
171
- this._nodeid_index = new Map();
172
- this._aliases = new Map();
173
- this._objectTypeMap = new Map();
174
- this._variableTypeMap = new Map();
175
- this._referenceTypeMap = new Map();
176
- this._referenceTypeMapInv = new Map();
177
- this._dataTypeMap = new Map();
178
- this._nodeIdManager = new nodeid_manager_1.NodeIdManager(this.index, this.addressSpace);
179
- }
180
- getDefaultNamespace() {
181
- return this.index === 0 ? this : this.addressSpace.getDefaultNamespace();
182
- }
183
- toJSON() {
184
- return {
185
- index: this.index,
186
- namespaceUri: this.namespaceUri,
187
- version: this.version
188
- };
189
- }
190
- toString() {
191
- return `Namespace({ index: ${this.index}, namespaceUri: "${this.namespaceUri}" })`;
192
- }
193
- [Symbol.for("nodejs.util.inspect.custom")]() {
194
- return this.toString();
195
- }
196
- dispose() {
197
- for (const node of this.nodeIterator()) {
198
- node.dispose();
199
- }
200
- this._nodeid_index = new Map();
201
- this._aliases = new Map();
202
- this.addressSpace = {};
203
- this._objectTypeMap = new Map();
204
- this._variableTypeMap = new Map();
205
- this._referenceTypeMap = new Map();
206
- this._referenceTypeMapInv = new Map();
207
- this._dataTypeMap = new Map();
208
- }
209
- nodeIterator() {
210
- return this._nodeid_index.values();
211
- }
212
- _objectTypeIterator() {
213
- return this._objectTypeMap.values();
214
- }
215
- _objectTypeCount() {
216
- return this._objectTypeMap.size;
217
- }
218
- _variableTypeIterator() {
219
- return this._variableTypeMap.values();
220
- }
221
- _variableTypeCount() {
222
- return this._variableTypeMap.size;
223
- }
224
- _dataTypeIterator() {
225
- return this._dataTypeMap.values();
226
- }
227
- _dataTypeCount() {
228
- return this._dataTypeMap.size;
229
- }
230
- _referenceTypeIterator() {
231
- return this._referenceTypeMap.values();
232
- }
233
- _referenceTypeCount() {
234
- return this._referenceTypeMap.size;
235
- }
236
- _aliasCount() {
237
- return this._aliases.size;
238
- }
239
- findNode2(nodeId) {
240
- // this one is faster assuming you have a nodeId
241
- (0, node_opcua_assert_1.assert)(nodeId.namespace === this.index);
242
- return this._nodeid_index.get(_makeHashKey(nodeId)) || null;
243
- }
244
- findNode(nodeId) {
245
- if (typeof nodeId === "string") {
246
- if (nodeId.match(regExp1)) {
247
- nodeId = `ns=${this.index};${nodeId}`;
248
- }
249
- }
250
- nodeId = (0, node_opcua_nodeid_1.resolveNodeId)(nodeId);
251
- return this.findNode2(nodeId);
252
- }
253
- /**
254
- *
255
- * @param objectTypeName {String}
256
- * @return {UAObjectType|null}
257
- */
258
- findObjectType(objectTypeName) {
259
- return this._objectTypeMap.get(objectTypeName) || null;
260
- }
261
- /**
262
- *
263
- * @param variableTypeName {String}
264
- * @returns {UAVariableType|null}
265
- */
266
- findVariableType(variableTypeName) {
267
- return this._variableTypeMap.get(variableTypeName) || null;
268
- }
269
- /**
270
- *
271
- * @param dataTypeName {String}
272
- * @returns {UADataType|null}
273
- */
274
- findDataType(dataTypeName) {
275
- return this._dataTypeMap.get(dataTypeName) || null;
276
- }
277
- /**
278
- *
279
- * @param referenceTypeName {String}
280
- * @returns {ReferenceType|null}
281
- */
282
- findReferenceType(referenceTypeName) {
283
- return this._referenceTypeMap.get(referenceTypeName) || null;
284
- }
285
- /**
286
- * find a ReferenceType by its inverse name.
287
-
288
- * @param inverseName {String} the inverse name of the ReferenceType to find
289
- * @return {ReferenceType}
290
- */
291
- findReferenceTypeFromInverseName(inverseName) {
292
- (0, node_opcua_assert_1.assert)(typeof inverseName === "string");
293
- const node = this._referenceTypeMapInv.get(inverseName);
294
- (0, node_opcua_assert_1.assert)(!node || (node.nodeClass === node_opcua_data_model_1.NodeClass.ReferenceType && node.inverseName.text === inverseName));
295
- return node ? node : null;
296
- }
297
- /**
298
- *
299
-
300
- * @param alias_name {String} the alias name
301
- * @param nodeId {NodeId} NodeId must belong to this namespace
302
- */
303
- addAlias(alias_name, nodeId) {
304
- (0, node_opcua_assert_1.assert)(typeof alias_name === "string");
305
- (0, node_opcua_assert_1.assert)(nodeId instanceof node_opcua_nodeid_1.NodeId);
306
- (0, node_opcua_assert_1.assert)(nodeId.namespace === this.index);
307
- this._aliases.set(alias_name, nodeId);
308
- }
309
- resolveAlias(name) {
310
- return this._aliases.get(name) || null;
311
- }
312
- /**
313
- * add a new Object type to the address space
314
-
315
- * @param options
316
- * @param options.browseName {String} the object type name
317
- * @param [options.displayName] {String|LocalizedText} the display name
318
- * @param [options.subtypeOf="BaseObjectType"] {String|NodeId|BaseNode} the base class
319
- * @param [options.nodeId] {String|NodeId} an optional nodeId for this objectType,
320
- * if not provided a new nodeId will be created
321
- * @param [options.isAbstract = false] {Boolean}
322
- * @param [options.eventNotifier = 0] {Integer}
323
- * @param [options.postInstantiateFunc = null] {Function}
324
- *
325
- */
326
- addObjectType(options) {
327
- (0, node_opcua_assert_1.assert)(!Object.hasOwn(options, "dataType"), "an objectType should not have a dataType");
328
- (0, node_opcua_assert_1.assert)(!Object.hasOwn(options, "valueRank"), "an objectType should not have a valueRank");
329
- (0, node_opcua_assert_1.assert)(!Object.hasOwn(options, "arrayDimensions"), "an objectType should not have a arrayDimensions");
330
- return this._addObjectOrVariableType(options, "BaseObjectType", node_opcua_data_model_1.NodeClass.ObjectType);
331
- }
332
- /**
333
- * add a new Variable type to the address space
334
-
335
- * @param options
336
- * @param options.browseName {String} the object type name
337
- * @param [options.displayName] {String|LocalizedText} the display name
338
- * @param [options.subtypeOf="BaseVariableType"] {String|NodeId|BaseNode} the base class
339
- * @param [options.nodeId] {String|NodeId} an optional nodeId for this objectType,
340
- * if not provided a new nodeId will be created
341
- * @param [options.isAbstract = false] {Boolean}
342
- * @param options.dataType {String|NodeId} the variable DataType
343
- * @param [options.valueRank = -1]
344
- * @param [options.arrayDimensions = null] { Array<Int>>
345
- *
346
- */
347
- addVariableType(options) {
348
- (0, node_opcua_assert_1.assert)(!Object.hasOwn(options, "arrayDimension"), "Do you mean ArrayDimensions ?");
349
- // dataType
350
- options.dataType = options.dataType || "Int32";
351
- options.dataType = this.addressSpace._coerce_DataType(options.dataType);
352
- // valueRank/ arrayDimensions
353
- (0, node_opcua_variant_1.verifyRankAndDimensions)(options);
354
- // arrayDimensions
355
- const variableType = this._addObjectOrVariableType(options, "BaseVariableType", node_opcua_data_model_1.NodeClass.VariableType);
356
- variableType.dataType = options.dataType;
357
- variableType.valueRank = options.valueRank || 0;
358
- variableType.arrayDimensions = options.arrayDimensions || [];
359
- return variableType;
360
- }
361
- /**
362
- * add a variable as a component of the parent node
363
- */
364
- addVariable(options) {
365
- if (Object.hasOwn(options, "propertyOf") && options.propertyOf) {
366
- (0, node_opcua_assert_1.assert)(!options.typeDefinition || options.typeDefinition === "PropertyType");
367
- options.typeDefinition = options.typeDefinition || "PropertyType";
368
- }
369
- else {
370
- (0, node_opcua_assert_1.assert)(!options.typeDefinition || options.typeDefinition !== "PropertyType");
371
- }
372
- return this._addVariable(options);
373
- }
374
- addView(options) {
375
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "browseName"));
376
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "organizedBy"));
377
- const browseName = options.browseName;
378
- (0, node_opcua_assert_1.assert)(typeof browseName === "string");
379
- const addressSpace = this.addressSpace;
380
- const baseDataVariableTypeId = addressSpace.findVariableType("BaseDataVariableType")?.nodeId;
381
- // ------------------------------------------ TypeDefinition
382
- const _typeDefinition = options.typeDefinition || baseDataVariableTypeId;
383
- options.references = options.references || [];
384
- options.references.push({
385
- isForward: true,
386
- nodeId: toNodeId(_typeDefinition) || node_opcua_nodeid_1.NodeId.nullNodeId,
387
- referenceType: "HasTypeDefinition"
388
- });
389
- const createOptions = options;
390
- (0, node_opcua_assert_1.assert)(!createOptions.nodeClass);
391
- createOptions.nodeClass = node_opcua_data_model_1.NodeClass.View;
392
- const view = this.createNode(createOptions);
393
- (0, node_opcua_assert_1.assert)(view.nodeId instanceof node_opcua_nodeid_1.NodeId);
394
- (0, node_opcua_assert_1.assert)(view.nodeClass === node_opcua_data_model_1.NodeClass.View);
395
- return view;
396
- }
397
- addObject(options1) {
398
- const options = options1;
399
- (0, node_opcua_assert_1.assert)(!options.nodeClass || options.nodeClass === node_opcua_data_model_1.NodeClass.Object);
400
- options.nodeClass = node_opcua_data_model_1.NodeClass.Object;
401
- const typeDefinition = options.typeDefinition || "BaseObjectType";
402
- options.references = options.references || [];
403
- options.references.push({ referenceType: "HasTypeDefinition", isForward: true, nodeId: typeDefinition });
404
- options.eventNotifier = +(options.eventNotifier || 0);
405
- const obj = this.createNode(options);
406
- (0, node_opcua_assert_1.assert)(obj instanceof ua_object_impl_1.UAObjectImpl);
407
- (0, node_opcua_assert_1.assert)(obj.nodeClass === node_opcua_data_model_1.NodeClass.Object);
408
- return obj;
409
- }
410
- /**
411
- *
412
-
413
- * @param parentFolder
414
- * @param options {String|Object}
415
- * @param options.browseName {String} the name of the folder
416
- * @param [options.nodeId] {NodeId}. An optional nodeId for this object
417
- *
418
- * @return {BaseNode}
419
- */
420
- addFolder(parentFolder, options) {
421
- if (typeof options === "string") {
422
- options = { browseName: options };
423
- }
424
- const addressSpace = this.addressSpace;
425
- (0, node_opcua_assert_1.assert)(!options.typeDefinition, "addFolder does not expect typeDefinition to be defined ");
426
- const typeDefinition = addressSpace._coerceTypeDefinition("FolderType");
427
- parentFolder = addressSpace._coerceFolder(parentFolder);
428
- options.nodeClass = node_opcua_data_model_1.NodeClass.Object;
429
- options.references = [
430
- { referenceType: "HasTypeDefinition", isForward: true, nodeId: typeDefinition },
431
- { referenceType: "Organizes", isForward: false, nodeId: parentFolder.nodeId }
432
- ];
433
- const node = this.createNode(options);
434
- return node;
435
- }
436
- /**
437
-
438
- * @param options
439
- * @param options.isAbstract
440
- * @param options.browseName
441
- * @param options.inverseName
442
- */
443
- addReferenceType(options) {
444
- const addressSpace = this.addressSpace;
445
- const options1 = options;
446
- options1.nodeClass = node_opcua_data_model_1.NodeClass.ReferenceType;
447
- options1.references = options.references || [];
448
- options1.nodeId = options.nodeId;
449
- if (options.subtypeOf) {
450
- const subtypeOfNodeId = addressSpace._coerceType(options.subtypeOf, "References", node_opcua_data_model_1.NodeClass.ReferenceType);
451
- (0, node_opcua_assert_1.assert)(subtypeOfNodeId);
452
- options1.references.push({
453
- isForward: false,
454
- nodeId: subtypeOfNodeId,
455
- referenceType: "HasSubtype"
456
- });
457
- }
458
- const node = this.internalCreateNode(options1);
459
- node.propagate_back_references();
460
- return node;
461
- }
462
- /**
463
- */
464
- addMultiStateDiscrete(options) {
465
- return (0, ua_multistate_discrete_impl_1._addMultiStateDiscrete)(this, options);
466
- }
467
- /**
468
-
469
- */
470
- createDataType(options) {
471
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "isAbstract"), "must provide isAbstract");
472
- (0, node_opcua_assert_1.assert)(!Object.hasOwn(options, "nodeClass"));
473
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "browseName"), "must provide a browseName");
474
- const options1 = options;
475
- options1.nodeClass = node_opcua_data_model_1.NodeClass.DataType;
476
- options1.references = options.references || [];
477
- if (options1.references.length === 0) {
478
- if (!options1.subtypeOf) {
479
- throw new Error("must provide a subtypeOf");
480
- }
481
- }
482
- if (options1.subtypeOf) {
483
- if (!(options1.subtypeOf instanceof ua_data_type_impl_1.UADataTypeImpl)) {
484
- options1.subtypeOf = this.addressSpace.findDataType(options1.subtypeOf);
485
- }
486
- if (!options1.subtypeOf) {
487
- throw new Error("cannot find subtypeOf ");
488
- }
489
- options1.references.push({
490
- isForward: false,
491
- nodeId: options1.subtypeOf.nodeId,
492
- referenceType: "HasSubtype"
493
- });
494
- }
495
- const node = this.internalCreateNode(options);
496
- node.propagate_back_references();
497
- return node;
498
- }
499
- /**
500
-
501
- * @param options
502
- * @param options.nodeClass
503
- * @param [options.nodeVersion {String} = "0" ] install nodeVersion
504
- * @param [options.modellingRule {String} = null]
505
- * @internal
506
- */
507
- createNode(options) {
508
- let node = null;
509
- const addressSpace = this.addressSpace;
510
- addressSpace.modelChangeTransaction(() => {
511
- (0, node_opcua_assert_1.assert)(isNonEmptyQualifiedName(options.browseName));
512
- // xx assert(Object.prototype.hasOwnProperty.call(options,"browseName") && options.browseName.length > 0);
513
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "nodeClass"));
514
- options.references = addressSpace.normalizeReferenceTypes(options.references);
515
- const references = _copy_references(options.references);
516
- _handle_hierarchy_parent(addressSpace, references, options);
517
- _handle_event_hierarchy_parent(addressSpace, references, options);
518
- (0, namespace_private_1.UANamespace_process_modelling_rule)(references, options.modellingRule);
519
- options.references = references;
520
- node = this.internalCreateNode(options);
521
- (0, node_opcua_assert_1.assert)(node.nodeId instanceof node_opcua_nodeid_1.NodeId);
522
- node.propagate_back_references();
523
- node.install_extra_properties();
524
- _create_node_version_if_needed(node, options);
525
- (0, address_space_change_event_tools_1._handle_model_change_event)(node);
526
- });
527
- return node;
528
- }
529
- /**
530
- * remove the specified Node from the address space
531
- *
532
-
533
- * @param nodeOrNodeId
534
- *
535
- *
536
- */
537
- deleteNode(nodeOrNodeId) {
538
- let node = null;
539
- let nodeId = new node_opcua_nodeid_1.NodeId();
540
- if (nodeOrNodeId instanceof node_opcua_nodeid_1.NodeId) {
541
- nodeId = nodeOrNodeId;
542
- node = this.findNode(nodeId);
543
- // c8 ignore next
544
- if (!node) {
545
- throw new Error(` deleteNode : cannot find node with nodeId${nodeId.toString()}`);
546
- }
547
- }
548
- else if (nodeOrNodeId instanceof base_node_impl_1.BaseNodeImpl) {
549
- node = nodeOrNodeId;
550
- nodeId = node.nodeId;
551
- }
552
- // c8 ignore next
553
- if (nodeId.namespace !== this.index) {
554
- throw new Error("this node doesn't belong to this namespace");
555
- }
556
- const addressSpace = this.addressSpace;
557
- addressSpace.modelChangeTransaction(() => {
558
- /* c8 ignore next */
559
- if (!node) {
560
- throw new Error("this node doesn't belong to this namespace");
561
- }
562
- // notify parent that node is being removed
563
- const hierarchicalReferences = node.findReferencesEx("HierarchicalReferences", node_opcua_data_model_1.BrowseDirection.Inverse);
564
- for (const ref of hierarchicalReferences) {
565
- (0, node_opcua_assert_1.assert)(!ref.isForward);
566
- const parent = addressSpace.findNode(ref.nodeId);
567
- (0, node_opcua_assert_1.assert)(parent);
568
- parent._on_child_removed(node);
569
- }
570
- function deleteNodePointedByReference(ref) {
571
- const o = addressSpace.findNode(ref.nodeId);
572
- addressSpace.deleteNode(o.nodeId);
573
- }
574
- // recursively delete all nodes below in the hierarchy of nodes
575
- // TODO : a better idea would be to extract any references of type "HasChild"
576
- const components = node.findReferencesEx("HasComponent", node_opcua_data_model_1.BrowseDirection.Forward);
577
- const properties = node.findReferencesEx("HasProperty", node_opcua_data_model_1.BrowseDirection.Forward);
578
- // TODO: shall we delete nodes pointed by "Organizes" links here ?
579
- const subFolders = node.findReferencesEx("Organizes", node_opcua_data_model_1.BrowseDirection.Forward);
580
- for (const r of components) {
581
- deleteNodePointedByReference(r);
582
- }
583
- for (const r of properties) {
584
- deleteNodePointedByReference(r);
585
- }
586
- for (const r of subFolders) {
587
- deleteNodePointedByReference(r);
588
- }
589
- (0, address_space_change_event_tools_1._handle_delete_node_model_change_event)(node);
590
- detachNode(node);
591
- // delete nodes from global index
592
- const namespace = addressSpace.getNamespace(node.nodeId.namespace);
593
- namespace._deleteNode(node);
594
- });
595
- }
596
- /**
597
- * @internal
598
- */
599
- getStandardsNodeIds() {
600
- const standardNodeIds = {
601
- objectTypeIds: {},
602
- referenceTypeIds: {}
603
- };
604
- for (const referenceType of this._referenceTypeMap.values()) {
605
- standardNodeIds.referenceTypeIds[referenceType?.browseName?.name] = referenceType.nodeId.toString();
606
- }
607
- for (const objectType of this._objectTypeMap.values()) {
608
- standardNodeIds.objectTypeIds[objectType?.browseName?.name] = objectType.nodeId.toString();
609
- }
610
- return standardNodeIds;
611
- }
612
- // - Events --------------------------------------------------------------------------------------
613
- /**
614
- * add a new event type to the address space
615
-
616
- * @param options
617
- * @param options.browseName {String} the eventType name
618
- * @param [options.subtypeOf ="BaseEventType"]
619
- * @param [options.isAbstract = true]
620
- * @return {UAObjectType} : the object type
621
- *
622
- * @example
623
- *
624
- * var evtType = namespace.addEventType({
625
- * browseName: "MyAuditEventType",
626
- * subtypeOf: "AuditEventType"
627
- * });
628
- * var myConditionType = namespace.addEventType({
629
- * browseName: "MyConditionType",
630
- * subtypeOf: "ConditionType",
631
- * isAbstract: false
632
- * });
633
- *
634
- */
635
- addEventType(options) {
636
- options.subtypeOf = options.subtypeOf || "BaseEventType";
637
- // are eventType always abstract ?? No => Condition can be instantiated!
638
- // but, by default is abstract is true
639
- options.isAbstract = Object.hasOwn(options, "isAbstract") ? !!options.isAbstract : true;
640
- return this.addObjectType(options);
641
- }
642
- // ---------------------------------------------------------------------------------------------------
643
- /**
644
- *
645
- */
646
- addDataItem(options) {
647
- const addressSpace = this.addressSpace;
648
- const dataType = options.dataType || "Number";
649
- const dataItemType = addressSpace.findVariableType("DataItemType");
650
- if (!dataItemType) {
651
- throw new Error("Cannot find DataItemType");
652
- }
653
- const variable = this.addVariable({
654
- ...options,
655
- dataType,
656
- typeDefinition: dataItemType.nodeId
657
- });
658
- (0, add_dataItem_stuff_1.add_dataItem_stuff)(variable, options);
659
- variable.install_extra_properties();
660
- return variable;
661
- }
662
- /**
663
- *
664
-
665
- *
666
- * AnalogDataItem DataItems that represent continuously-variable physical quantities ( e.g., length, temperature),
667
- * in contrast to the digital representation of data in discrete items
668
- * NOTE Typical examples are the values provided by temperature sensors or pressure sensors. OPC UA defines a
669
- * specific UAVariableType to identify an AnalogItem. Properties describe the possible ranges of AnalogItems.
670
- *
671
- *
672
- * @example:
673
- *
674
- *
675
- * namespace.add_analog_dataItem({
676
- * componentOf: parentObject,
677
- * browseName: "TemperatureSensor",
678
- *
679
- * definition: "(tempA -25) + tempB",
680
- * valuePrecision: 0.5,
681
- * //-
682
- * instrumentRange: { low: 100 , high: 200}, // optional
683
- * engineeringUnitsRange: { low: 100 , high: 200}, // mandatory
684
- * engineeringUnits: standardUnits.degree_celsius,, // optional
685
- *
686
- * // access level
687
- * accessLevel: 1
688
- * minimumSamplingInterval: 10,
689
- *
690
- * });
691
- *
692
-
693
- * @return {UAVariable}
694
- */
695
- addAnalogDataItem(options) {
696
- const addressSpace = this.addressSpace;
697
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "engineeringUnitsRange"), "expecting engineeringUnitsRange");
698
- const dataType = options.dataType || "Number";
699
- const analogItemType = addressSpace.findVariableType("AnalogItemType");
700
- if (!analogItemType) {
701
- throw new Error("expecting AnalogItemType to be defined , check nodeset xml file");
702
- }
703
- // options.typeDefinition may designate a subtype of AnalogItemType (e.g. a companion
704
- // specification's own AnalogItemType-derived VariableType). In that case we must honor it
705
- // so that the subtype's identity - and its own mandatory members - are preserved, instead of
706
- // silently downgrading the variable to a plain AnalogItemType.
707
- let requestedTypeDefinition = analogItemType;
708
- if (options.typeDefinition) {
709
- const t = options.typeDefinition instanceof base_node_impl_1.BaseNodeImpl
710
- ? options.typeDefinition
711
- : addressSpace.findVariableType(options.typeDefinition);
712
- if (!t) {
713
- throw new Error(`cannot find requested typeDefinition ${options.typeDefinition.toString()}`);
714
- }
715
- if (!t.isSubtypeOf(analogItemType)) {
716
- throw new Error(`typeDefinition ${t.browseName.toString()} shall be a subtype of AnalogItemType`);
717
- }
718
- requestedTypeDefinition = t;
719
- }
720
- const isStrictSubtype = !(0, node_opcua_nodeid_1.sameNodeId)(requestedTypeDefinition.nodeId, analogItemType.nodeId);
721
- let variable;
722
- if (isStrictSubtype) {
723
- // instantiate the requested subtype so that its own mandatory members
724
- // (in addition to the AnalogItemType ones) get materialized.
725
- const optionals = [];
726
- if (Object.hasOwn(options, "instrumentRange")) {
727
- optionals.push("InstrumentRange");
728
- }
729
- if (Object.hasOwn(options, "engineeringUnits")) {
730
- optionals.push("EngineeringUnits");
731
- }
732
- variable = requestedTypeDefinition.instantiate({
733
- browseName: options.browseName,
734
- componentOf: options.componentOf,
735
- dataType: addressSpace._coerce_DataType(dataType),
736
- modellingRule: options.modellingRule,
737
- nodeId: options.nodeId,
738
- notifierOf: options.notifierOf,
739
- eventSourceOf: options.eventSourceOf,
740
- organizedBy: options.organizedBy,
741
- optionals
742
- });
743
- }
744
- else {
745
- const clone_options = { ...options, dataType, typeDefinition: analogItemType.nodeId };
746
- variable = this.addVariable(clone_options);
747
- }
748
- (0, add_dataItem_stuff_1.add_dataItem_stuff)(variable, options);
749
- // mandatory (EURange in the specs)
750
- // OPC Unified Architecture, Part 8 6 Release 1.02
751
- // EURange defines the value range likely to be obtained in normal operation. It is intended for such
752
- // use as automatically scaling a bar graph display
753
- // Sensor or instrument failure or deactivation can result in a return ed item value which is actually
754
- // outside of this range. Client software must be prepared to deal with this possibility. Similarly a client
755
- // may attempt to write a value that is outside of this range back to the server. The exact behavior
756
- // (accept, reject, clamp, etc.) in this case is server - dependent. However , in general servers shall be
757
- // prepared to handle this.
758
- // Example: EURange ::= {-200.0,1400.0}
759
- // when `variable` was instantiated from a strict AnalogItemType subtype (isStrictSubtype),
760
- // EURange/InstrumentRange/EngineeringUnits may already exist as cloned mandatory/optional
761
- // members of that subtype - reuse them instead of creating duplicate property nodes.
762
- const euRangeExisting = variable.getPropertyByName("EURange");
763
- const euRange = euRangeExisting ||
764
- this.addVariable({
765
- browseName: { name: "EURange", namespaceIndex: 0 },
766
- dataType: "Range",
767
- minimumSamplingInterval: 0,
768
- modellingRule: options.modellingRule,
769
- propertyOf: variable,
770
- typeDefinition: "PropertyType",
771
- value: new node_opcua_variant_1.Variant({
772
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
773
- value: new node_opcua_types_1.Range(options.engineeringUnitsRange)
774
- })
775
- });
776
- if (euRangeExisting) {
777
- euRange.setValueFromSource(new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.ExtensionObject, value: new node_opcua_types_1.Range(options.engineeringUnitsRange) }), node_opcua_status_code_1.StatusCodes.Good);
778
- }
779
- (0, node_opcua_assert_1.assert)(euRange.readValue().value.value instanceof node_opcua_types_1.Range);
780
- const handler = variable.handle_semantic_changed.bind(variable);
781
- euRange.on("value_changed", handler);
782
- if (Object.hasOwn(options, "instrumentRange")) {
783
- const instrumentRangeExisting = variable.getPropertyByName("InstrumentRange");
784
- const instrumentRange = instrumentRangeExisting ||
785
- this.addVariable({
786
- accessLevel: "CurrentRead | CurrentWrite",
787
- browseName: { name: "InstrumentRange", namespaceIndex: 0 },
788
- dataType: "Range",
789
- minimumSamplingInterval: 0,
790
- modellingRule: options.modellingRule ? "Mandatory" : undefined,
791
- propertyOf: variable,
792
- typeDefinition: "PropertyType",
793
- value: new node_opcua_variant_1.Variant({
794
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
795
- value: new node_opcua_types_1.Range(options.instrumentRange)
796
- })
797
- });
798
- if (instrumentRangeExisting) {
799
- instrumentRange.setValueFromSource(new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.ExtensionObject, value: new node_opcua_types_1.Range(options.instrumentRange) }), node_opcua_status_code_1.StatusCodes.Good);
800
- }
801
- instrumentRange.on("value_changed", handler);
802
- }
803
- variable.acceptValueOutOfRange = options.acceptValueOutOfRange;
804
- if (Object.hasOwn(options, "engineeringUnits")) {
805
- const engineeringUnits = new node_opcua_types_1.EUInformation(options.engineeringUnits);
806
- (0, node_opcua_assert_1.assert)(engineeringUnits instanceof node_opcua_types_1.EUInformation, "expecting engineering units");
807
- // EngineeringUnits specifies the units for the DataItem‟s value (e.g., degree, hertz, seconds). The
808
- // EUInformation type is specified in 5.6.3.
809
- const euExisting = variable.getPropertyByName("EngineeringUnits");
810
- const eu = euExisting ||
811
- this.addVariable({
812
- accessLevel: "CurrentRead",
813
- browseName: { name: "EngineeringUnits", namespaceIndex: 0 },
814
- dataType: "EUInformation",
815
- minimumSamplingInterval: 0,
816
- modellingRule: options.modellingRule ? "Mandatory" : undefined,
817
- propertyOf: variable,
818
- typeDefinition: "PropertyType",
819
- value: new node_opcua_variant_1.Variant({
820
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
821
- value: engineeringUnits
822
- })
823
- });
824
- if (euExisting) {
825
- eu.setValueFromSource(new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.ExtensionObject, value: engineeringUnits }), node_opcua_status_code_1.StatusCodes.Good);
826
- }
827
- eu.on("value_changed", handler);
828
- }
829
- variable.install_extra_properties();
830
- return variable;
831
- }
832
- /**
833
- *
834
-
835
- * @param options {Object}
836
- * @param options.browseName {String}
837
- * @param [options.nodeId {NodeId}]
838
- * @param [options.value {UInt32} = 0 }
839
- * @param options.enumValues { EnumValueType[]| {Key,Value} }
840
- * @return {Object|UAVariable}
841
- *
842
- * @example
843
- *
844
- *
845
- * namespace.addMultiStateValueDiscrete({
846
- * componentOf:parentObj,
847
- * browseName: "myVar",
848
- * enumValues: {
849
- * "Red": 0xFF0000,
850
- * "Green": 0x00FF00,
851
- * "Blue": 0x0000FF
852
- * }
853
- * });
854
- * addMultiStateValueDiscrete(parentObj,{
855
- * browseName: "myVar",
856
- * enumValues: [
857
- * {
858
- * value: 0xFF0000,
859
- * displayName: "Red",
860
- * description: " The color Red"
861
- * },
862
- * {
863
- * value: 0x00FF000,
864
- * displayName: "Green",
865
- * description: " The color Green"
866
- * },
867
- * {
868
- * value: 0x0000FF,
869
- * displayName: "Blue",
870
- * description: " The color Blue"
871
- * }
872
- *
873
- * ]
874
- * });
875
- */
876
- addMultiStateValueDiscrete(options) {
877
- return (0, ua_multistate_value_discrete_impl_1._addMultiStateValueDiscrete)(this, options);
878
- }
879
- // -
880
- /**
881
- *
882
-
883
- * @param options
884
- * @param options.componentOf {NodeId}
885
- * @param options.browseName {String}
886
- * @param options.title {String}
887
- * @param [options.instrumentRange]
888
- * @param [options.instrumentRange.low] {Double}
889
- * @param [options.instrumentRange.high] {Double}
890
- * @param options.engineeringUnitsRange.low {Double}
891
- * @param options.engineeringUnitsRange.high {Double}
892
- * @param options.engineeringUnits {String}
893
- * @param [options.nodeId = {NodeId}]
894
- * @param options.accessLevel
895
- * @param options.userAccessLevel
896
- * @param options.title {String}
897
- * @param options.axisScaleType {AxisScaleEnumeration}
898
- *
899
- * @param options.xAxisDefinition {AxisInformation}
900
- * @param options.xAxisDefinition.engineeringUnits EURange
901
- * @param options.xAxisDefinition.range
902
- * @param options.xAxisDefinition.range.low
903
- * @param options.xAxisDefinition.range.high
904
- * @param options.xAxisDefinition.title {LocalizedText}
905
- * @param options.xAxisDefinition.axisScaleType {AxisScaleEnumeration}
906
- * @param options.xAxisDefinition.axisSteps = <null> {Array<Double>}
907
- * @param options.value
908
- */
909
- addYArrayItem(options) {
910
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "engineeringUnitsRange"), "expecting engineeringUnitsRange");
911
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "axisScaleType"), "expecting axisScaleType");
912
- (0, node_opcua_assert_1.assert)(options.xAxisDefinition !== null && typeof options.xAxisDefinition === "object", "expecting a xAxisDefinition");
913
- const addressSpace = this.addressSpace;
914
- const YArrayItemType = addressSpace.findVariableType("YArrayItemType");
915
- if (!YArrayItemType) {
916
- throw new Error("expecting YArrayItemType to be defined , check nodeset xml file");
917
- }
918
- const dataType = toNodeId(options.dataType) || toNodeId(options.value?.dataType);
919
- const optionals = [];
920
- if (Object.hasOwn(options, "instrumentRange")) {
921
- optionals.push("InstrumentRange");
922
- }
923
- const variable = YArrayItemType.instantiate({
924
- browseName: options.browseName,
925
- componentOf: options.componentOf,
926
- dataType,
927
- optionals
928
- });
929
- function coerceAxisScale(value) {
930
- const ret = node_opcua_data_access_1.AxisScaleEnumeration[value];
931
- (0, node_opcua_assert_1.assert)(!(0, node_opcua_utils_1.isNullOrUndefined)(ret));
932
- return ret;
933
- }
934
- variable.setValueFromSource(options.value, node_opcua_status_code_1.StatusCodes.Good);
935
- variable.euRange.setValueFromSource(new node_opcua_variant_1.Variant({
936
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
937
- value: new node_opcua_types_1.Range(options.engineeringUnitsRange)
938
- }));
939
- if (Object.hasOwn(options, "instrumentRange") && variable.instrumentRange) {
940
- variable.instrumentRange.setValueFromSource(new node_opcua_variant_1.Variant({
941
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
942
- value: new node_opcua_types_1.Range(options.instrumentRange)
943
- }));
944
- }
945
- variable.title.setValueFromSource(new node_opcua_variant_1.Variant({
946
- dataType: node_opcua_variant_1.DataType.LocalizedText,
947
- value: (0, node_opcua_data_model_1.coerceLocalizedText)(options.title || "")
948
- }));
949
- // Linear/Log/Ln
950
- variable.axisScaleType.setValueFromSource(new node_opcua_variant_1.Variant({
951
- dataType: node_opcua_variant_1.DataType.Int32,
952
- value: coerceAxisScale(options.axisScaleType)
953
- }));
954
- variable.xAxisDefinition.setValueFromSource(new node_opcua_variant_1.Variant({
955
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
956
- value: new node_opcua_types_1.AxisInformation(options.xAxisDefinition)
957
- }));
958
- return variable;
959
- }
960
- // - Methods ----------------------------------------------------------------------------------------------------
961
- /**
962
-
963
- * @param parentObject {Object}
964
- * @param options {Object}
965
- * @param [options.nodeId=null] {NodeId} the object nodeid.
966
- * @param [options.browseName=""] {String} the object browse name.
967
- * @param [options.description=""] {String} the object description.
968
- * @param options.inputArguments {Array<Argument>}
969
- * @param options.outputArguments {Array<Argument>}
970
- * @return {Object}
971
- */
972
- addMethod(parentObject, options) {
973
- const addressSpace = this.addressSpace;
974
- (0, node_opcua_assert_1.assert)(parentObject !== null && typeof parentObject === "object" && parentObject instanceof base_node_impl_1.BaseNodeImpl, "expecting a valid parent object");
975
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "browseName"));
976
- options.componentOf = parentObject;
977
- const method = this._addMethod(options);
978
- const propertyTypeId = addressSpace._coerce_VariableTypeIds("PropertyType");
979
- const nodeId_ArgumentDataType = "Argument"; // makeNodeId(DataTypeIds.Argument);
980
- if (options.inputArguments) {
981
- const _inputArgs = new node_opcua_variant_1.Variant({
982
- arrayType: node_opcua_variant_1.VariantArrayType.Array,
983
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
984
- value: options.inputArguments.map((opt) => new node_opcua_types_1.Argument(opt))
985
- });
986
- const inputArguments = this.addVariable({
987
- accessLevel: "CurrentRead",
988
- arrayDimensions: [_inputArgs.value.length],
989
- browseName: { name: "InputArguments", namespaceIndex: 0 },
990
- dataType: nodeId_ArgumentDataType,
991
- description: "the definition of the input argument of method " +
992
- parentObject.browseName.toString() +
993
- "." +
994
- method.browseName.toString(),
995
- minimumSamplingInterval: -1,
996
- modellingRule: "Mandatory",
997
- propertyOf: method,
998
- typeDefinition: "PropertyType",
999
- value: _inputArgs,
1000
- valueRank: 1
1001
- });
1002
- inputArguments.setValueFromSource(_inputArgs);
1003
- (0, node_opcua_assert_1.assert)(inputArguments.typeDefinition.toString() === propertyTypeId.toString());
1004
- (0, node_opcua_assert_1.assert)(Array.isArray(inputArguments.arrayDimensions));
1005
- }
1006
- if (options.outputArguments) {
1007
- const _outputArgs = new node_opcua_variant_1.Variant({
1008
- arrayType: node_opcua_variant_1.VariantArrayType.Array,
1009
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
1010
- value: options.outputArguments.map((opts) => new node_opcua_types_1.Argument(opts))
1011
- });
1012
- const outputArguments = this.addVariable({
1013
- accessLevel: "CurrentRead",
1014
- arrayDimensions: [_outputArgs.value.length],
1015
- browseName: { name: "OutputArguments", namespaceIndex: 0 },
1016
- dataType: nodeId_ArgumentDataType,
1017
- description: "the definition of the output arguments of method " +
1018
- parentObject.browseName.toString() +
1019
- "." +
1020
- method.browseName.toString(),
1021
- minimumSamplingInterval: -1,
1022
- modellingRule: "Mandatory",
1023
- propertyOf: method,
1024
- typeDefinition: "PropertyType",
1025
- value: _outputArgs,
1026
- valueRank: 1
1027
- });
1028
- outputArguments.setValueFromSource(_outputArgs);
1029
- (0, node_opcua_assert_1.assert)(outputArguments.typeDefinition.toString() === propertyTypeId.toString());
1030
- (0, node_opcua_assert_1.assert)(Array.isArray(outputArguments.arrayDimensions));
1031
- }
1032
- // verifying post-conditions
1033
- parentObject.install_extra_properties();
1034
- return method;
1035
- }
1036
- // - Enumeration ------------------------------------------------------------------------------------------------
1037
- /**
1038
- *
1039
-
1040
- * @param options
1041
- * @param options.browseName {String}
1042
- * @param options.enumeration {Array}
1043
- * @param options.enumeration[].displayName {String|LocalizedText}
1044
- * @param options.enumeration[].value {Number}
1045
- * @param options.enumeration[].description {String|LocalizedText|null}
1046
- */
1047
- addEnumerationType(options) {
1048
- // Release 1.03 OPC Unified Architecture, Part 3 - page 34
1049
- // Enumeration DataTypes are DataTypes that represent discrete sets of named values.
1050
- // Enumerations are always encoded as Int32 on the wire as defined in Part 6. Enumeration
1051
- // DataTypes inherit directly or indirectly from the DataType Enumeration defined in 8.14.
1052
- // Enumerations have no encodings exposed in the IAddressSpace. To expose the human readable
1053
- // representation of an enumerated value the DataType Node may have the EnumString
1054
- // Property that contains an array of LocalizedText. The Integer representation of the enumeration
1055
- // value points to a position within that array. EnumValues Property can be used instead of the
1056
- // EnumStrings to support integer representation of enumerations that are not zero-based or have
1057
- // gaps. It contains an array of a Structured DataType containing the integer representation as
1058
- // well as the human-readable representation. An example of an enumeration DataType containing
1059
- // a sparse list of Integers is NodeClass which is defined in 8.30.
1060
- // OPC Unified Architecture, Part 3 Release 1.03 page 35
1061
- // Table 11 – DataType NodeClass
1062
- // EnumStrings O LocalizedText[] The EnumStrings Property only applies for Enumeration DataTypes.
1063
- // It shall not be applied for other DataTypes. If the EnumValues
1064
- // Property is provided, the EnumStrings Property shall not be provided.
1065
- // Each entry of the array of LocalizedText in this Property represents
1066
- // the human-readable representation of an enumerated value. The
1067
- // Integer representation of the enumeration value points to a position
1068
- // of the array.
1069
- // EnumValues O EnumValueType[] The EnumValues Property only applies for Enumeration DataTypes.
1070
- // It shall not be applied for other DataTypes. If the EnumStrings
1071
- // Property is provided, the EnumValues Property shall not be provided.
1072
- // Using the EnumValues Property it is possible to represent.
1073
- // Enumerations with integers that are not zero-based or have gaps
1074
- // (e.g. 1, 2, 4, 8, 16).
1075
- // Each entry of the array of EnumValueType in this Property
1076
- // represents one enumeration value with its integer notation, human readable
1077
- // representation and help information.
1078
- // The Property EnumStrings contains human-readable representations of enumeration values and is
1079
- // only applied to Enumeration DataTypes. Instead of the EnumStrings Property an Enumeration
1080
- // DataType can also use the EnumValues Property to represent Enumerations with integer values that are not
1081
- // zero-based or containing gaps. There are no additional Properties defined for DataTypes in this standard.
1082
- // Additional parts of this series of standards may define additional Properties for DataTypes.
1083
- // 8.40 EnumValueType
1084
- // This Structured DataType is used to represent a human-readable representation of an
1085
- // Enumeration. Its elements are described inTable 27. When this type is used in an array representing
1086
- // human-readable representations of an enumeration, each Value shall be unique in that array.
1087
- // Table 27 – EnumValueType Definition
1088
- // Name Type Description
1089
- // EnumValueType structure
1090
- // Value Int64 The Integer representation of an Enumeration.
1091
- // DisplayName LocalizedText A human-readable representation of the Value of the Enumeration.
1092
- // Description LocalizedText A localized description of the enumeration value. This field can
1093
- // contain an empty string if no description is available.
1094
- // Note that the EnumValueType has been defined with a Int64 Value to meet a variety of usages.
1095
- // When it is used to define the string representation of an Enumeration DataType, the value range
1096
- // is limited to Int32, because the Enumeration DataType is a subtype of Int32. Part 8 specifies
1097
- // other usages where the actual value might be between 8 and 64 Bit.
1098
- (0, node_opcua_assert_1.assert)(typeof options.browseName === "string");
1099
- (0, node_opcua_assert_1.assert)(Array.isArray(options.enumeration));
1100
- const addressSpace = this.addressSpace;
1101
- const enumerationType = addressSpace.findDataType("Enumeration");
1102
- (0, node_opcua_assert_1.assert)(enumerationType.nodeId instanceof node_opcua_nodeid_1.NodeId);
1103
- (0, node_opcua_assert_1.assert)(enumerationType instanceof ua_data_type_impl_1.UADataTypeImpl);
1104
- const references = [{ referenceType: "HasSubtype", isForward: false, nodeId: enumerationType.nodeId }];
1105
- const opts = {
1106
- browseName: options.browseName,
1107
- definition: undefined,
1108
- description: (0, node_opcua_data_model_1.coerceLocalizedText)(options.description) || null,
1109
- displayName: options.displayName || null,
1110
- isAbstract: false,
1111
- nodeClass: node_opcua_data_model_1.NodeClass.DataType,
1112
- references
1113
- };
1114
- const enumType = this.internalCreateNode(opts); // as UAEnumeration;
1115
- enumType.propagate_back_references();
1116
- if (typeof options.enumeration[0] === "string") {
1117
- const enumeration = options.enumeration;
1118
- // enumeration is a array of string
1119
- const definition = enumeration.map((str, _index) => (0, node_opcua_data_model_1.coerceLocalizedText)(str));
1120
- const value = new node_opcua_variant_1.Variant({
1121
- arrayType: node_opcua_variant_1.VariantArrayType.Array,
1122
- dataType: node_opcua_variant_1.DataType.LocalizedText,
1123
- value: definition
1124
- });
1125
- const enumStrings = this.addVariable({
1126
- browseName: { name: "EnumStrings", namespaceIndex: 0 },
1127
- dataType: "LocalizedText",
1128
- description: "",
1129
- modellingRule: "Mandatory",
1130
- propertyOf: enumType,
1131
- value,
1132
- valueRank: 1
1133
- });
1134
- (0, node_opcua_assert_1.assert)(enumStrings.browseName.toString() === "EnumStrings");
1135
- // set $definition
1136
- // EnumDefinition
1137
- // This Structured DataType is used to provide the metadata for a custom Enumeration or
1138
- // OptionSet DataType. It is derived from the DataType DataTypeDefinition.
1139
- // Enum Field:
1140
- // This Structured DataType is used to provide the metadata for a field of a custom Enumeration
1141
- // or OptionSet DataType. It is derived from the DataType EnumValueType. If used for an
1142
- // OptionSet, the corresponding Value in the base type contains the number of the bit associated
1143
- // with the field. The EnumField is formally defined in Table 37.
1144
- enumType.$fullDefinition = new node_opcua_types_1.EnumDefinition({
1145
- fields: enumeration.map((x, index) => new node_opcua_types_1.EnumField({
1146
- name: x,
1147
- description: (0, node_opcua_data_model_1.coerceLocalizedText)(x),
1148
- value: (0, node_opcua_basic_types_1.coerceInt64)(index)
1149
- }))
1150
- });
1151
- }
1152
- else {
1153
- const enumeration = options.enumeration;
1154
- // construct the definition object
1155
- const definition = enumeration.map((enumItem) => {
1156
- return new node_opcua_types_1.EnumValueType({
1157
- description: (0, node_opcua_data_model_1.coerceLocalizedText)(enumItem.description),
1158
- displayName: (0, node_opcua_data_model_1.coerceLocalizedText)(enumItem.displayName),
1159
- value: (0, node_opcua_basic_types_1.coerceInt64)(enumItem.value)
1160
- });
1161
- });
1162
- const value = new node_opcua_variant_1.Variant({
1163
- arrayType: node_opcua_variant_1.VariantArrayType.Array,
1164
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
1165
- value: definition
1166
- });
1167
- const enumValues = this.addVariable({
1168
- browseName: { name: "EnumValues", namespaceIndex: 0 },
1169
- dataType: "EnumValueType",
1170
- description: undefined,
1171
- modellingRule: "Mandatory",
1172
- propertyOf: enumType,
1173
- value,
1174
- valueRank: 1
1175
- });
1176
- (0, node_opcua_assert_1.assert)(enumValues.browseName.toString() === "EnumValues");
1177
- enumType.$fullDefinition = new node_opcua_types_1.EnumDefinition({
1178
- fields: enumeration.map((x, _index) => new node_opcua_types_1.EnumField({
1179
- name: x.displayName.toString(),
1180
- description: x.description || "",
1181
- value: (0, node_opcua_basic_types_1.coerceInt64)(x.value)
1182
- }))
1183
- });
1184
- }
1185
- // now create the string value property
1186
- // <UAVariable NodeId="i=7612" BrowseName="EnumStrings"
1187
- // ParentNodeId="i=852" DataType="LocalizedText" ValueRank="1">
1188
- // <DisplayName>EnumStrings</DisplayName>
1189
- // <References>
1190
- // <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
1191
- // <Reference ReferenceType="HasModellingRule">i=78</Reference>
1192
- // <Reference ReferenceType="HasProperty" IsForward="false">i=852</Reference>
1193
- // </References>
1194
- // <Value>
1195
- // <ListOfLocalizedText xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
1196
- // <LocalizedText><Locale></Locale><Text>Running</Text></LocalizedText>
1197
- // <LocalizedText><Locale></Locale><Text>Failed</Text>
1198
- // </ListOfLocalizedText>
1199
- // </Value>
1200
- // </UAVariable>
1201
- return enumType;
1202
- }
1203
- // -------------------------------------------------------------------------
1204
- // State and Transition
1205
- // -------------------------------------------------------------------------
1206
- toNodeset2XML() {
1207
- return "<toNodeset2XML>has not be installed</toNodeset2XML>!";
1208
- }
1209
- setRequiredModels(requiredModels) {
1210
- this._requiredModels = requiredModels;
1211
- }
1212
- getRequiredModels() {
1213
- return this._requiredModels;
1214
- }
1215
- // -------------------------------------------------------------------------
1216
- // State and Transition
1217
- // -------------------------------------------------------------------------
1218
- /**
1219
- */
1220
- addState(component, stateName, stateNumber, isInitialState) {
1221
- const addressSpace = this.addressSpace;
1222
- isInitialState = !!isInitialState;
1223
- const _component = component;
1224
- (0, node_opcua_assert_1.assert)(_component.nodeClass === node_opcua_data_model_1.NodeClass.Object || _component.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType);
1225
- const initialStateType = addressSpace.findObjectType("InitialStateType");
1226
- const stateType = addressSpace.findObjectType("StateType");
1227
- if (!initialStateType) {
1228
- throw new Error("Cannot find InitialStateType");
1229
- }
1230
- if (!stateType) {
1231
- throw new Error("Cannot find StateType");
1232
- }
1233
- let state;
1234
- if (isInitialState) {
1235
- state = initialStateType.instantiate({
1236
- browseName: stateName,
1237
- componentOf: _component
1238
- });
1239
- }
1240
- else {
1241
- state = stateType.instantiate({
1242
- browseName: stateName,
1243
- componentOf: _component
1244
- });
1245
- }
1246
- // ensure state number is unique
1247
- state.stateNumber.setValueFromSource({
1248
- dataType: node_opcua_variant_1.DataType.UInt32,
1249
- value: stateNumber
1250
- });
1251
- return state;
1252
- }
1253
- /**
1254
- */
1255
- addTransition(component, fromState, toState, transitionNumber, browseName) {
1256
- const addressSpace = this.addressSpace;
1257
- const _component = component;
1258
- (0, node_opcua_assert_1.assert)(_component.nodeClass === node_opcua_data_model_1.NodeClass.Object || _component.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType);
1259
- (0, node_opcua_assert_1.assert)(typeof fromState === "string");
1260
- (0, node_opcua_assert_1.assert)(typeof toState === "string");
1261
- (0, node_opcua_assert_1.assert)(Number.isFinite(transitionNumber));
1262
- const fromStateNode = _component.getComponentByName(fromState);
1263
- // c8 ignore next
1264
- if (!fromStateNode) {
1265
- throw new Error(`Cannot find state with name ${fromState}`);
1266
- }
1267
- (0, node_opcua_assert_1.assert)(fromStateNode.browseName.name?.toString() === fromState);
1268
- const toStateNode = _component.getComponentByName(toState);
1269
- // c8 ignore next
1270
- if (!toStateNode) {
1271
- throw new Error(`Cannot find state with name ${toState}`);
1272
- }
1273
- (0, node_opcua_assert_1.assert)(toStateNode.browseName.name?.toString() === toState);
1274
- const transitionType = addressSpace.findObjectType("TransitionType");
1275
- if (!transitionType) {
1276
- throw new Error("Cannot find TransitionType");
1277
- }
1278
- browseName = browseName || `${fromState}To${toState}`; // "Transition";
1279
- const transition = transitionType.instantiate({
1280
- browseName,
1281
- componentOf: _component
1282
- });
1283
- transition.addReference({
1284
- isForward: true,
1285
- nodeId: toStateNode.nodeId,
1286
- referenceType: "ToState"
1287
- });
1288
- transition.addReference({
1289
- isForward: true,
1290
- nodeId: fromStateNode.nodeId,
1291
- referenceType: "FromState"
1292
- });
1293
- transition.transitionNumber.setValueFromSource({
1294
- dataType: node_opcua_variant_1.DataType.UInt32,
1295
- value: transitionNumber
1296
- });
1297
- return transition;
1298
- }
1299
- /**
1300
-
1301
- *
1302
- * @return {UATwoStateVariable}
1303
- */
1304
- addTwoStateVariable(options) {
1305
- return (0, ua_two_state_variable_1._addTwoStateVariable)(this, options);
1306
- }
1307
- /**
1308
-
1309
- *
1310
- * Add a TwoStateDiscrete Variable
1311
- * @return {UATwoStateDiscrete}
1312
- */
1313
- addTwoStateDiscrete(options) {
1314
- return (0, ua_two_state_discrete_impl_1._addTwoStateDiscrete)(this, options);
1315
- }
1316
- // --- Alarms & Conditions -------------------------------------------------
1317
- instantiateCondition(conditionTypeId, options, data) {
1318
- return alarms_and_conditions_1.UAConditionImplBase.instantiate(this, conditionTypeId, options, data);
1319
- }
1320
- instantiateAcknowledgeableCondition(conditionTypeId, options, data) {
1321
- return alarms_and_conditions_1.UAAcknowledgeableConditionImplBase.instantiate(this, conditionTypeId, options, data);
1322
- }
1323
- instantiateAlarmCondition(alarmConditionTypeId, options, data) {
1324
- return alarms_and_conditions_1.UAAlarmConditionImplBase.instantiate(this, alarmConditionTypeId, options, data);
1325
- }
1326
- instantiateLimitAlarm(limitAlarmTypeId, options, data) {
1327
- return ua_limit_alarm_impl_1.UALimitAlarmImplBase.instantiate(this, limitAlarmTypeId, options, data);
1328
- }
1329
- instantiateExclusiveLimitAlarm(exclusiveLimitAlarmTypeId, options, data) {
1330
- return ua_exclusive_limit_alarm_impl_1.UAExclusiveLimitAlarmImplBase.instantiate(this, exclusiveLimitAlarmTypeId, options, data);
1331
- }
1332
- instantiateExclusiveDeviationAlarm(options, data) {
1333
- return ua_exclusive_deviation_alarm_impl_1.UAExclusiveDeviationAlarmImplBase.instantiate(this, "ExclusiveDeviationAlarmType", options, data);
1334
- }
1335
- instantiateNonExclusiveLimitAlarm(nonExclusiveLimitAlarmTypeId, options, data) {
1336
- return ua_non_exclusive_limit_alarm_impl_1.UANonExclusiveLimitAlarmImplBase.instantiate(this, nonExclusiveLimitAlarmTypeId, options, data);
1337
- }
1338
- instantiateNonExclusiveDeviationAlarm(options, data) {
1339
- return ua_non_exclusive_deviation_alarm_impl_1.UANonExclusiveDeviationAlarmImplBase.instantiate(this, "NonExclusiveDeviationAlarmType", options, data);
1340
- }
1341
- instantiateDiscreteAlarm(discreteAlarmType, options, data) {
1342
- return alarms_and_conditions_1.UADiscreteAlarmImplBase.instantiate(this, discreteAlarmType, options, data);
1343
- }
1344
- instantiateOffNormalAlarm(options, data) {
1345
- return ua_off_normal_alarm_impl_1.UAOffNormalAlarmImplBase.instantiate(this, "OffNormalAlarmType", options, data);
1346
- }
1347
- // default roles and permissions
1348
- setDefaultRolePermissions(rolePermissions) {
1349
- this.defaultRolePermissions = rolePermissions ? (0, role_permissions_1.coerceRolePermissions)(rolePermissions) : undefined;
1350
- }
1351
- getDefaultRolePermissions() {
1352
- return this.defaultRolePermissions || null;
1353
- }
1354
- setDefaultAccessRestrictions(accessRestrictions) {
1355
- this.defaultAccessRestrictions = accessRestrictions;
1356
- }
1357
- getDefaultAccessRestrictions() {
1358
- return this.defaultAccessRestrictions || node_opcua_data_model_1.AccessRestrictionsFlag.None;
1359
- }
1360
- // --- internal stuff
1361
- constructNodeId(options) {
1362
- return this._nodeIdManager.constructNodeId({
1363
- registerSymbolicNames: this.registerSymbolicNames,
1364
- ...options
1365
- });
1366
- }
1367
- _register(node) {
1368
- (0, node_opcua_assert_1.assert)(node instanceof base_node_impl_1.BaseNodeImpl, "Expecting a instance of BaseNode in _register");
1369
- (0, node_opcua_assert_1.assert)(node.nodeId instanceof node_opcua_nodeid_1.NodeId, "Expecting a NodeId");
1370
- // c8 ignore next
1371
- if (node.nodeId.namespace !== this.index) {
1372
- throw new Error("node must belong to this namespace : " +
1373
- node.nodeId.toString() +
1374
- " " +
1375
- " node.browseName = " +
1376
- node.browseName.toString() +
1377
- " this.index = " +
1378
- this.index);
1379
- }
1380
- (0, node_opcua_assert_1.assert)(node.nodeId.namespace === this.index, "node must belongs to this namespace");
1381
- (0, node_opcua_assert_1.assert)(Object.hasOwn(node, "browseName"), "Node must have a browseName");
1382
- const hashKey = _makeHashKey(node.nodeId);
1383
- // c8 ignore next
1384
- if (this._nodeid_index.has(hashKey)) {
1385
- const existingNode = this.findNode(node.nodeId);
1386
- throw new Error("node " +
1387
- node.browseName.toString() +
1388
- " nodeId = " +
1389
- node.nodeId.displayText() +
1390
- " already registered " +
1391
- node.nodeId.toString() +
1392
- "\n" +
1393
- " in namespace " +
1394
- this.namespaceUri +
1395
- " index = " +
1396
- this.index +
1397
- "\n" +
1398
- "existing node = " +
1399
- existingNode?.toString() +
1400
- "this parent : " +
1401
- node.parentNodeId?.toString());
1402
- }
1403
- this._nodeid_index.set(hashKey, node);
1404
- switch (node.nodeClass) {
1405
- case node_opcua_data_model_1.NodeClass.ObjectType:
1406
- this._registerObjectType(node);
1407
- break;
1408
- case node_opcua_data_model_1.NodeClass.VariableType:
1409
- this._registerVariableType(node);
1410
- break;
1411
- case node_opcua_data_model_1.NodeClass.ReferenceType:
1412
- this._registerReferenceType(node);
1413
- break;
1414
- case node_opcua_data_model_1.NodeClass.DataType:
1415
- this._registerDataType(node);
1416
- break;
1417
- case node_opcua_data_model_1.NodeClass.Object:
1418
- case node_opcua_data_model_1.NodeClass.Variable:
1419
- case node_opcua_data_model_1.NodeClass.Method:
1420
- case node_opcua_data_model_1.NodeClass.View:
1421
- break;
1422
- default:
1423
- errorLog("Invalid class Name", node.nodeClass);
1424
- throw new Error("Invalid class name specified");
1425
- }
1426
- }
1427
- /**
1428
-
1429
- * @internal
1430
- */
1431
- internalCreateNode(options) {
1432
- (0, node_opcua_assert_1.assert)(options.nodeClass !== undefined, " options.nodeClass must be specified");
1433
- (0, node_opcua_assert_1.assert)(options.browseName, "options.browseName must be specified");
1434
- // xx assert(options.browseName instanceof QualifiedName
1435
- // ? (options.browseName.namespaceIndex === this.index): true,
1436
- // "Expecting browseName to have the same namespaceIndex as the namespace");
1437
- options.description = (0, node_opcua_data_model_1.coerceLocalizedText)(options.description) || "";
1438
- // browseName adjustment
1439
- if (typeof options.browseName === "string") {
1440
- const match = options.browseName.match(regExpNamespaceDotBrowseName);
1441
- if (match) {
1442
- const correctedName = match[1];
1443
- // the application is using an old scheme
1444
- warningLog(chalk_1.default.green("Warning : since node-opcua 0.4.2 " + "namespace index should not be prepended to the browse name anymore"));
1445
- warningLog(" ", options.browseName, " will be replaced with ", correctedName);
1446
- warningLog(" Please update your code");
1447
- const indexVerify = parseInt(match[0], 10);
1448
- if (indexVerify !== this.index) {
1449
- errorLog(chalk_1.default.red.bold("Error: namespace index used at the front of the browseName " +
1450
- indexVerify +
1451
- " do not match the index of the current namespace (" +
1452
- this.index +
1453
- ")"));
1454
- errorLog(" Please fix your code so that the created node is inserted in the correct namespace," +
1455
- " please refer to the NodeOPCUA documentation");
1456
- }
1457
- }
1458
- options.browseName = new node_opcua_data_model_1.QualifiedName({ name: options.browseName, namespaceIndex: this.index });
1459
- }
1460
- else if (!(options.browseName instanceof node_opcua_data_model_1.QualifiedName)) {
1461
- options.browseName = new node_opcua_data_model_1.QualifiedName(options.browseName);
1462
- }
1463
- (0, node_opcua_assert_1.assert)(options.browseName instanceof node_opcua_data_model_1.QualifiedName, "Expecting options.browseName to be instanceof QualifiedName ");
1464
- // ------------- set display name
1465
- if (!options.displayName) {
1466
- (0, node_opcua_assert_1.assert)(typeof options.browseName.name === "string");
1467
- options.displayName = (0, node_opcua_data_model_1.coerceLocalizedText)(options.browseName.name || "");
1468
- }
1469
- if (!options.nodeClass || options.nodeClass === undefined) {
1470
- throw new Error("nodeclass must be specified");
1471
- }
1472
- // --- nodeId adjustment
1473
- options.nodeId = this.constructNodeId(options);
1474
- (0, node_opcua_debug_1.dumpIf)(!options.nodeId, options); // missing node Id
1475
- (0, node_opcua_assert_1.assert)(options.nodeId instanceof node_opcua_nodeid_1.NodeId);
1476
- // assert(options.browseName.namespaceIndex === this.index,"Expecting browseName to have
1477
- // the same namespaceIndex as the namespace");
1478
- const Constructor = _constructors_map[node_opcua_data_model_1.NodeClass[options.nodeClass]];
1479
- if (!Constructor) {
1480
- throw new Error(` missing constructor for NodeClass ${node_opcua_data_model_1.NodeClass[options.nodeClass]}`);
1481
- }
1482
- options.addressSpace = this.addressSpace;
1483
- const node = new Constructor(options);
1484
- this._register(node);
1485
- // object shall now be registered
1486
- // c8 ignore next
1487
- if (doDebug) {
1488
- (0, node_opcua_assert_1.assert)(this.findNode(node.nodeId) !== null && typeof this.findNode(node.nodeId) === "object");
1489
- }
1490
- return node;
1491
- }
1492
- _deleteNode(node) {
1493
- (0, node_opcua_assert_1.assert)(node instanceof base_node_impl_1.BaseNodeImpl);
1494
- const hashKey = _makeHashKey(node.nodeId);
1495
- // c8 ignore next
1496
- if (!this._nodeid_index.has(hashKey)) {
1497
- throw new Error(`deleteNode : nodeId ${node.nodeId.displayText()} is not registered ${node.nodeId.toString()}`);
1498
- }
1499
- switch (node.nodeClass) {
1500
- case node_opcua_data_model_1.NodeClass.ObjectType:
1501
- this._unregisterObjectType(node);
1502
- break;
1503
- case node_opcua_data_model_1.NodeClass.VariableType:
1504
- this._unregisterVariableType(node);
1505
- break;
1506
- case node_opcua_data_model_1.NodeClass.Object:
1507
- case node_opcua_data_model_1.NodeClass.Variable:
1508
- case node_opcua_data_model_1.NodeClass.Method:
1509
- case node_opcua_data_model_1.NodeClass.View:
1510
- break;
1511
- default:
1512
- warningLog("Invalid class Name", node.nodeClass);
1513
- throw new Error("Invalid class name specified");
1514
- }
1515
- const deleted = this._nodeid_index.delete(hashKey);
1516
- (0, node_opcua_assert_1.assert)(deleted);
1517
- node.dispose();
1518
- }
1519
- // --- Private stuff
1520
- _addObjectOrVariableType(options1, topMostBaseType, nodeClass) {
1521
- const addressSpace = this.addressSpace;
1522
- (0, node_opcua_assert_1.assert)(typeof topMostBaseType === "string");
1523
- (0, node_opcua_assert_1.assert)(nodeClass === node_opcua_data_model_1.NodeClass.ObjectType || nodeClass === node_opcua_data_model_1.NodeClass.VariableType);
1524
- const options = options1;
1525
- (0, node_opcua_assert_1.assert)(!options.nodeClass);
1526
- (0, node_opcua_assert_1.assert)(options.browseName);
1527
- (0, node_opcua_assert_1.assert)(typeof options.browseName === "string");
1528
- if (Object.hasOwn(options, "references")) {
1529
- throw new Error("options.references should not be provided, use options.subtypeOf instead");
1530
- }
1531
- const references = [];
1532
- function process_subtypeOf_options(options2, references1) {
1533
- // check common misspelling mistake
1534
- (0, node_opcua_assert_1.assert)(!options2.subTypeOf, "misspell error : it should be 'subtypeOf' instead");
1535
- if (Object.hasOwn(options2, "hasTypeDefinition")) {
1536
- throw new Error("hasTypeDefinition option is invalid. Do you mean typeDefinition instead ?");
1537
- }
1538
- (0, node_opcua_assert_1.assert)(!options2.typeDefinition, " do you mean subtypeOf ?");
1539
- // subtypeOf is optional: _coerceType defaults to topMostBaseType when it's falsy.
1540
- const subtypeOfNodeId = addressSpace._coerceType(options2.subtypeOf, topMostBaseType, nodeClass);
1541
- (0, node_opcua_assert_1.assert)(subtypeOfNodeId);
1542
- references1.push({
1543
- isForward: false,
1544
- nodeId: subtypeOfNodeId,
1545
- referenceType: "HasSubtype"
1546
- });
1547
- }
1548
- process_subtypeOf_options.call(this, options, references);
1549
- const objectType = this.internalCreateNode({
1550
- browseName: options.browseName,
1551
- displayName: options.displayName,
1552
- description: options.description,
1553
- eventNotifier: +(options.eventNotifier || 0),
1554
- isAbstract: !!options.isAbstract,
1555
- nodeClass,
1556
- nodeId: options.nodeId,
1557
- references
1558
- });
1559
- objectType.propagate_back_references();
1560
- objectType.install_extra_properties();
1561
- if (options.postInstantiateFunc) {
1562
- objectType.installPostInstallFunc(options.postInstantiateFunc);
1563
- }
1564
- return objectType;
1565
- }
1566
- // private _adjust_options(options: any) {
1567
- // const ns = this.addressSpace.getNamespaceIndex(this.namespaceUri);
1568
- // if (!options.nodeId) {
1569
- // const id = this._getNextAvailableId();
1570
- // options.nodeId = new NodeId(NodeId.NodeIdType.NUMERIC, id, ns);
1571
- // }
1572
- // options.nodeId = NodeId.coerce(options.nodeId);
1573
- // if (typeof options.browseName === "string") {
1574
- // options.browseName = new QualifiedName({
1575
- // name: options.browseName,
1576
- // namespaceIndex: ns
1577
- // });
1578
- // }
1579
- // return options;
1580
- // }
1581
- _registerObjectType(node) {
1582
- (0, node_opcua_assert_1.assert)(this.index === node.nodeId.namespace);
1583
- const key = node.browseName.name || "";
1584
- if (this._objectTypeMap.has(key)) {
1585
- throw new Error(` UAObjectType already declared ${node.browseName.toString()} ${node.nodeId.toString()}`);
1586
- }
1587
- this._objectTypeMap.set(key, node);
1588
- }
1589
- _registerVariableType(node) {
1590
- (0, node_opcua_assert_1.assert)(this.index === node.nodeId.namespace);
1591
- const key = node.browseName.name || "";
1592
- (0, node_opcua_assert_1.assert)(!this._variableTypeMap.has(key), " UAVariableType already declared");
1593
- this._variableTypeMap.set(key, node);
1594
- }
1595
- _registerReferenceType(node) {
1596
- (0, node_opcua_assert_1.assert)(this.index === node.nodeId.namespace);
1597
- (0, node_opcua_assert_1.assert)(node.browseName instanceof node_opcua_data_model_1.QualifiedName);
1598
- const key = node.browseName.name || "";
1599
- this._referenceTypeMap.set(key, node);
1600
- this._referenceTypeMapInv.set(node.inverseName.text || "", node);
1601
- }
1602
- _registerDataType(node) {
1603
- (0, node_opcua_assert_1.assert)(this.index === node.nodeId.namespace);
1604
- const key = node.browseName.name || "";
1605
- (0, node_opcua_assert_1.assert)(node.browseName instanceof node_opcua_data_model_1.QualifiedName);
1606
- (0, node_opcua_assert_1.assert)(!this._dataTypeMap.has(key), " DataType already declared");
1607
- this._dataTypeMap.set(key, node);
1608
- }
1609
- _unregisterObjectType(node) {
1610
- const key = node.browseName.name || "";
1611
- this._objectTypeMap.delete(key);
1612
- }
1613
- _unregisterVariableType(node) {
1614
- const key = node.browseName.name || "";
1615
- this._variableTypeMap.delete(key);
1616
- }
1617
- /**
1618
- * @private
1619
- */
1620
- _addVariable(options) {
1621
- const addressSpace = this.addressSpace;
1622
- const baseDataVariableType = addressSpace.findVariableType("BaseDataVariableType");
1623
- if (!baseDataVariableType) {
1624
- throw new Error("cannot find BaseDataVariableType");
1625
- }
1626
- const baseDataVariableTypeId = baseDataVariableType.nodeId;
1627
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "browseName"), "options.browseName must be provided");
1628
- (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "dataType"), "options.dataType must be provided");
1629
- options.historizing = !!options.historizing;
1630
- // c8 ignore next
1631
- if (Object.hasOwn(options, "hasTypeDefinition")) {
1632
- throw new Error("hasTypeDefinition option is invalid. Do you mean typeDefinition instead ?");
1633
- }
1634
- // ------------------------------------------ TypeDefinition
1635
- let typeDefinition = options.typeDefinition || baseDataVariableTypeId;
1636
- if (typeDefinition instanceof base_node_impl_1.BaseNodeImpl) {
1637
- // c8 ignore next
1638
- if (typeDefinition.nodeClass !== node_opcua_data_model_1.NodeClass.VariableType) {
1639
- const message = `invalid typeDefinition expecting a VariableType got ${node_opcua_data_model_1.NodeClass[typeDefinition.nodeClass]}`;
1640
- errorLog(message);
1641
- throw new Error(message);
1642
- }
1643
- }
1644
- typeDefinition = addressSpace._coerce_VariableTypeIds(typeDefinition);
1645
- (0, node_opcua_assert_1.assert)(typeDefinition instanceof node_opcua_nodeid_1.NodeId);
1646
- // ------------------------------------------ DataType
1647
- options.dataType = addressSpace._coerce_DataType(options.dataType || node_opcua_variant_1.DataType.Null);
1648
- options.valueRank = (0, node_opcua_utils_1.isNullOrUndefined)(options.valueRank)
1649
- ? options.arrayDimensions
1650
- ? options.arrayDimensions.length
1651
- : -1
1652
- : options.valueRank;
1653
- (0, node_opcua_assert_1.assert)(typeof options.valueRank === "number" && Number.isFinite(options.valueRank));
1654
- options.arrayDimensions = options.arrayDimensions || null;
1655
- (0, node_opcua_assert_1.assert)(options.arrayDimensions === null || Array.isArray(options.arrayDimensions));
1656
- // -----------------------------------------------------
1657
- const hasGetter = (options) => {
1658
- return typeof options.value?.get === "function" || typeof options.value?.timestamped_get === "function";
1659
- };
1660
- // c8 ignore next
1661
- if (options.minimumSamplingInterval === undefined && hasGetter(options)) {
1662
- // a getter has been specified and no options.minimumSamplingInterval has been specified
1663
- warningLog("[NODE-OPCUA-W30", "namespace#addVariable a getter has been specified and minimumSamplingInterval is missing.\nMinimumSamplingInterval has been adjusted to 1000 ms\nvariable = " +
1664
- options?.browseName?.toString());
1665
- options.minimumSamplingInterval = 1000;
1666
- }
1667
- options.minimumSamplingInterval = options.minimumSamplingInterval !== undefined ? +options.minimumSamplingInterval : 0;
1668
- // c8 ignore next
1669
- if (options.minimumSamplingInterval === 0 && hasGetter(options)) {
1670
- warningLog("[NODE-OPCUA-W31", "namespace#addVariable a getter has been specified and minimumSamplingInterval is 0.\nThis may conduct to an unpredictable behavior.\nPlease specify a non zero minimum sampling interval");
1671
- }
1672
- let references = options.references || [];
1673
- references = [].concat(references, [
1674
- {
1675
- isForward: true,
1676
- nodeId: typeDefinition,
1677
- referenceType: "HasTypeDefinition"
1678
- }
1679
- ]);
1680
- (0, node_opcua_assert_1.assert)(!options.nodeClass || options.nodeClass === node_opcua_data_model_1.NodeClass.Variable);
1681
- options.nodeClass = node_opcua_data_model_1.NodeClass.Variable;
1682
- options.references = references;
1683
- const variable = this.createNode(options);
1684
- return variable;
1685
- }
1686
- /**
1687
- * @private
1688
- */
1689
- _addMethod(options) {
1690
- const addressSpace = this.addressSpace;
1691
- (0, node_opcua_assert_1.assert)(isNonEmptyQualifiedName(options.browseName));
1692
- const references = [];
1693
- (0, node_opcua_assert_1.assert)(isNonEmptyQualifiedName(options.browseName));
1694
- _handle_hierarchy_parent(addressSpace, references, options);
1695
- (0, namespace_private_1.UANamespace_process_modelling_rule)(references, options.modellingRule);
1696
- const method = this.internalCreateNode({
1697
- browseName: options.browseName,
1698
- description: options.description || "",
1699
- displayName: options.displayName,
1700
- eventNotifier: +(options.eventNotifier || 0),
1701
- isAbstract: false,
1702
- nodeClass: node_opcua_data_model_1.NodeClass.Method,
1703
- nodeId: options.nodeId,
1704
- references,
1705
- rolePermissions: options.rolePermissions
1706
- });
1707
- (0, node_opcua_assert_1.assert)(method.nodeId !== null);
1708
- method.propagate_back_references();
1709
- (0, node_opcua_assert_1.assert)(!method.typeDefinition);
1710
- return method;
1711
- }
1712
- }
1713
- exports.NamespaceImpl = NamespaceImpl;
1714
- // each concrete constructor below takes a different, incompatible options type (UADataTypeOptions,
1715
- // UAVariableOptions, ...) — the map is only ever indexed by nodeClass and invoked with the matching
1716
- // options shape by the caller, so a wider `new (options: any) => ...` signature is required here.
1717
- // biome-ignore lint/suspicious/noExplicitAny: see comment above
1718
- const _constructors_map = {
1719
- DataType: ua_data_type_impl_1.UADataTypeImpl,
1720
- Method: ua_method_impl_1.UAMethodImpl,
1721
- Object: ua_object_impl_1.UAObjectImpl,
1722
- ObjectType: ua_object_type_impl_1.UAObjectTypeImpl,
1723
- ReferenceType: ua_reference_type_impl_1.UAReferenceTypeImpl,
1724
- Variable: ua_variable_impl_1.UAVariableImpl,
1725
- VariableType: ua_variable_type_impl_1.UAVariableTypeImpl,
1726
- View: ua_view_impl_1.UAViewImpl
1727
- };
1728
- /**
1729
-
1730
- * convert a 'string' , NodeId or Object into a valid and existing object
1731
- * @param addressSpace {IAddressSpace}
1732
- * @param value
1733
- * @param coerceFunc
1734
- * @private
1735
- */
1736
- function _coerce_parent(addressSpace, value, coerceFunc) {
1737
- (0, node_opcua_assert_1.assert)(typeof coerceFunc === "function");
1738
- if (value) {
1739
- if (typeof value === "string") {
1740
- value = coerceFunc.call(addressSpace, value);
1741
- }
1742
- if (value instanceof node_opcua_nodeid_1.NodeId) {
1743
- value = addressSpace.findNode(value);
1744
- }
1745
- }
1746
- (0, node_opcua_assert_1.assert)(!value || value instanceof base_node_impl_1.BaseNodeImpl);
1747
- return value;
1748
- }
1749
- function _handle_event_hierarchy_parent(addressSpace, references, options) {
1750
- options.eventSourceOf = _coerce_parent(addressSpace, options.eventSourceOf, addressSpace._coerceNode);
1751
- options.notifierOf = _coerce_parent(addressSpace, options.notifierOf, addressSpace._coerceNode);
1752
- if (options.eventSourceOf) {
1753
- (0, node_opcua_assert_1.assert)(!options.notifierOf, "notifierOf shall not be provided with eventSourceOf ");
1754
- references.push({
1755
- isForward: false,
1756
- nodeId: options.eventSourceOf.nodeId,
1757
- referenceType: "HasEventSource"
1758
- });
1759
- options.eventNotifier = options.eventNotifier || 1;
1760
- }
1761
- else if (options.notifierOf) {
1762
- (0, node_opcua_assert_1.assert)(!options.eventSourceOf, "eventSourceOf shall not be provided with notifierOf ");
1763
- references.push({
1764
- isForward: false,
1765
- nodeId: options.notifierOf.nodeId,
1766
- referenceType: "HasNotifier"
1767
- });
1768
- }
1769
- }
1770
- function _handle_hierarchy_parent(addressSpace, references, options) {
1771
- options.addInOf = _coerce_parent(addressSpace, options.addInOf, addressSpace._coerceNode);
1772
- options.componentOf = _coerce_parent(addressSpace, options.componentOf, addressSpace._coerceNode);
1773
- options.propertyOf = _coerce_parent(addressSpace, options.propertyOf, addressSpace._coerceNode);
1774
- options.organizedBy = _coerce_parent(addressSpace, options.organizedBy, addressSpace._coerceFolder);
1775
- options.encodingOf = _coerce_parent(addressSpace, options.encodingOf, addressSpace._coerceNode);
1776
- if (options.addInOf) {
1777
- (0, node_opcua_assert_1.assert)(!options.componentOf);
1778
- (0, node_opcua_assert_1.assert)(!options.propertyOf);
1779
- (0, node_opcua_assert_1.assert)(!options.organizedBy);
1780
- (0, node_opcua_assert_1.assert)(options.addInOf.nodeClass === node_opcua_data_model_1.NodeClass.Object || options.addInOf.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType, "addInOf must be of nodeClass Object or ObjectType");
1781
- references.push({
1782
- isForward: false,
1783
- nodeId: options.addInOf.nodeId,
1784
- referenceType: "HasAddIn"
1785
- });
1786
- }
1787
- if (options.componentOf) {
1788
- (0, node_opcua_assert_1.assert)(!options.addInOf);
1789
- (0, node_opcua_assert_1.assert)(!options.propertyOf);
1790
- (0, node_opcua_assert_1.assert)(!options.organizedBy);
1791
- (0, node_opcua_assert_1.assert)(addressSpace.rootFolder.objects, "addressSpace must have a rootFolder.objects folder");
1792
- (0, node_opcua_assert_1.assert)(options.componentOf.nodeId !== addressSpace.rootFolder.objects.nodeId, "Only Organizes References are used to relate Objects to the 'Objects' standard Object.");
1793
- references.push({
1794
- isForward: false,
1795
- nodeId: options.componentOf.nodeId,
1796
- referenceType: "HasComponent"
1797
- });
1798
- }
1799
- if (options.propertyOf) {
1800
- (0, node_opcua_assert_1.assert)(!options.addInOf);
1801
- (0, node_opcua_assert_1.assert)(!options.componentOf);
1802
- (0, node_opcua_assert_1.assert)(!options.organizedBy);
1803
- (0, node_opcua_assert_1.assert)(options.propertyOf.nodeId !== addressSpace.rootFolder.objects.nodeId, "Only Organizes References are used to relate Objects to the 'Objects' standard Object.");
1804
- references.push({
1805
- isForward: false,
1806
- nodeId: options.propertyOf.nodeId,
1807
- referenceType: "HasProperty"
1808
- });
1809
- }
1810
- if (options.organizedBy) {
1811
- (0, node_opcua_assert_1.assert)(!options.addInOf);
1812
- (0, node_opcua_assert_1.assert)(!options.propertyOf);
1813
- (0, node_opcua_assert_1.assert)(!options.componentOf);
1814
- references.push({
1815
- isForward: false,
1816
- nodeId: options.organizedBy.nodeId,
1817
- referenceType: "Organizes"
1818
- });
1819
- }
1820
- if (options.encodingOf) {
1821
- // parent must be a DataType
1822
- (0, node_opcua_assert_1.assert)(options.encodingOf.nodeClass === node_opcua_data_model_1.NodeClass.DataType, "encodingOf must be toward a DataType");
1823
- references.push({
1824
- isForward: false,
1825
- nodeId: options.encodingOf.nodeId,
1826
- referenceType: "HasEncoding"
1827
- });
1828
- }
1829
- }
1830
- function _copy_reference(reference) {
1831
- (0, node_opcua_assert_1.assert)(Object.hasOwn(reference, "referenceType"));
1832
- (0, node_opcua_assert_1.assert)(Object.hasOwn(reference, "isForward"));
1833
- (0, node_opcua_assert_1.assert)(Object.hasOwn(reference, "nodeId"));
1834
- (0, node_opcua_assert_1.assert)(reference.nodeId instanceof node_opcua_nodeid_1.NodeId);
1835
- return {
1836
- isForward: reference.isForward,
1837
- nodeId: reference.nodeId,
1838
- referenceType: reference.referenceType
1839
- };
1840
- }
1841
- function _copy_references(references) {
1842
- references = references || [];
1843
- return references.map(_copy_reference);
1844
- }
1845
- function isNonEmptyQualifiedName(browseName) {
1846
- if (!browseName) {
1847
- return false;
1848
- }
1849
- if (typeof browseName === "string") {
1850
- return browseName.length >= 0;
1851
- }
1852
- if (!(browseName instanceof node_opcua_data_model_1.QualifiedName)) {
1853
- browseName = new node_opcua_data_model_1.QualifiedName(browseName);
1854
- }
1855
- (0, node_opcua_assert_1.assert)(browseName instanceof node_opcua_data_model_1.QualifiedName);
1856
- return (browseName.name?.length || 0) > 0;
1857
- }
1858
- function _create_node_version_if_needed(node, options) {
1859
- (0, node_opcua_assert_1.assert)(options);
1860
- if (typeof options.nodeVersion === "string") {
1861
- (0, node_opcua_assert_1.assert)(node.nodeClass === node_opcua_data_model_1.NodeClass.Variable || node.nodeClass === node_opcua_data_model_1.NodeClass.Object);
1862
- // c8 ignore next
1863
- if (node.getNodeVersion()) {
1864
- return; // already exists
1865
- }
1866
- const namespace = node.namespace;
1867
- const nodeVersion = namespace.addVariable({
1868
- browseName: (0, node_opcua_data_model_1.coerceQualifiedName)({ name: "NodeVersion", namespaceIndex: 0 }),
1869
- dataType: node_opcua_variant_1.DataType.String,
1870
- propertyOf: node
1871
- });
1872
- const initialValue = typeof options.nodeVersion === "string" ? options.nodeVersion : "0";
1873
- nodeVersion.setValueFromSource({ dataType: "String", value: initialValue });
1874
- }
1875
- }
1876
- //# sourceMappingURL=namespace_impl.js.map