node-opcua-address-space 2.70.3 → 2.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +34 -34
  8. package/dist/source/helpers/argument_list.js +285 -285
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -17
  12. package/dist/source/helpers/check_event_clause.js +52 -52
  13. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  14. package/dist/source/helpers/coerce_enum_value.js +33 -33
  15. package/dist/source/helpers/dump_tools.d.ts +14 -14
  16. package/dist/source/helpers/dump_tools.js +78 -78
  17. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  18. package/dist/source/helpers/ensure_secure_access.js +76 -76
  19. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  20. package/dist/source/helpers/make_optionals_map.js +29 -29
  21. package/dist/source/helpers/multiform_func.d.ts +11 -11
  22. package/dist/source/helpers/multiform_func.js +73 -73
  23. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  24. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  25. package/dist/source/index.d.ts +40 -40
  26. package/dist/source/index.js +66 -66
  27. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  29. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +23 -0
  30. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +3 -0
  31. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +1 -0
  32. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +6 -0
  33. package/dist/source/interfaces/data_access/ua_discrete_item.js +3 -0
  34. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +1 -0
  35. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +25 -0
  36. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +3 -0
  37. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +1 -0
  38. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  39. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  40. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +27 -0
  41. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +3 -0
  42. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +1 -0
  43. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  44. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  45. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +17 -0
  46. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +3 -0
  47. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +1 -0
  48. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  49. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  50. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +19 -0
  51. package/dist/source/interfaces/data_access/ua_y_array_item.js +3 -0
  52. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +1 -0
  53. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  54. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  55. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +11 -0
  56. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +3 -0
  57. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +1 -0
  58. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +70 -0
  59. package/dist/source/interfaces/state_machine/finite_state_machine.js +3 -0
  60. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +1 -0
  61. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +74 -0
  62. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +3 -0
  63. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +1 -0
  64. package/dist/source/interfaces/state_machine/state_machine.d.ts +342 -0
  65. package/dist/source/interfaces/state_machine/state_machine.js +3 -0
  66. package/dist/source/interfaces/state_machine/state_machine.js.map +1 -0
  67. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  68. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  69. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  70. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  71. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +18 -0
  72. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +3 -0
  73. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +1 -0
  74. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  75. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  76. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  77. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  78. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +29 -0
  79. package/dist/source/interfaces/state_machine/ua_state_variable.js +3 -0
  80. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +1 -0
  81. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  82. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  83. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +26 -0
  84. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +3 -0
  85. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +1 -0
  86. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +41 -0
  87. package/dist/source/interfaces/subscription_diagnostics_variable.js +3 -0
  88. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +1 -0
  89. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  90. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  91. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  92. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  93. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  94. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  95. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  96. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  97. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  98. package/dist/source/loader/load_nodeset2.js +1464 -1464
  99. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  100. package/dist/source/loader/make_xml_extension_object_parser.js +315 -315
  101. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  102. package/dist/source/loader/namespace_post_step.js +47 -47
  103. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  104. package/dist/source/loader/register_node_promoter.js +9 -9
  105. package/dist/source/namespace.d.ts +6 -6
  106. package/dist/source/namespace.js +2 -2
  107. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  108. package/dist/source/namespace_alarm_and_condition.js +2 -2
  109. package/dist/source/namespace_data_access.d.ts +42 -42
  110. package/dist/source/namespace_data_access.js +2 -2
  111. package/dist/source/namespace_machine_state.d.ts +7 -7
  112. package/dist/source/namespace_machine_state.js +2 -2
  113. package/dist/source/pseudo_session.d.ts +55 -55
  114. package/dist/source/pseudo_session.js +203 -203
  115. package/dist/source/session_context.d.ts +111 -111
  116. package/dist/source/session_context.js +265 -265
  117. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  118. package/dist/source/set_namespace_meta_data.js +59 -59
  119. package/dist/source/ua_root_folder.d.ts +9 -9
  120. package/dist/source/ua_root_folder.js +2 -2
  121. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  122. package/dist/source/ua_two_state_variable_ex.js +2 -2
  123. package/dist/source/xml_writer.d.ts +9 -9
  124. package/dist/source/xml_writer.js +2 -2
  125. package/dist/src/address_space.d.ts +392 -392
  126. package/dist/src/address_space.js +1387 -1387
  127. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  128. package/dist/src/address_space_change_event_tools.js +149 -149
  129. package/dist/src/address_space_private.d.ts +43 -43
  130. package/dist/src/address_space_private.js +2 -2
  131. package/dist/src/alarms_and_conditions/base_event_type.d.ts +26 -0
  132. package/dist/src/alarms_and_conditions/base_event_type.js +41 -0
  133. package/dist/src/alarms_and_conditions/base_event_type.js.map +1 -0
  134. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  135. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  136. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  137. package/dist/src/alarms_and_conditions/condition.js +80 -80
  138. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  139. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  140. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  141. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  142. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  143. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  144. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  145. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  146. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  147. package/dist/src/alarms_and_conditions/index.js +34 -34
  148. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +22 -0
  149. package/dist/src/alarms_and_conditions/shelving_state_machine.js +241 -0
  150. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +1 -0
  151. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +16 -0
  152. package/dist/src/alarms_and_conditions/trip_alarm.js +21 -0
  153. package/dist/src/alarms_and_conditions/trip_alarm.js.map +1 -0
  154. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +54 -0
  155. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +255 -0
  156. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +1 -0
  157. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +62 -62
  158. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  159. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +138 -0
  160. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +460 -0
  161. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +1 -0
  162. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +118 -118
  163. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  164. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  165. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  166. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +35 -0
  167. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +32 -0
  168. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +1 -0
  169. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +21 -21
  170. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +25 -25
  171. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +191 -0
  172. package/dist/src/alarms_and_conditions/ua_condition_base.js +1029 -0
  173. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +1 -0
  174. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +182 -182
  175. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1022 -1022
  176. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +11 -0
  177. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +58 -0
  178. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +1 -0
  179. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +17 -17
  180. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  181. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +24 -0
  182. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +59 -0
  183. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +1 -0
  184. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +27 -27
  185. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  186. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +14 -0
  187. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +17 -0
  188. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +1 -0
  189. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +9 -9
  190. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  191. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +22 -0
  192. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +87 -0
  193. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +1 -0
  194. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +38 -38
  195. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  196. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +6 -0
  197. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +11 -0
  198. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +1 -0
  199. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  200. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  201. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +76 -0
  202. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +237 -0
  203. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +1 -0
  204. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +97 -97
  205. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  206. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +27 -0
  207. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +62 -0
  208. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +1 -0
  209. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -28
  210. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  211. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +49 -0
  212. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +176 -0
  213. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +1 -0
  214. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +25 -25
  215. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  216. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +47 -0
  217. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +151 -0
  218. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +1 -0
  219. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +39 -39
  220. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +135 -135
  221. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +16 -0
  222. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +18 -0
  223. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +1 -0
  224. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +16 -16
  225. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  226. package/dist/src/apply_condition_refresh.d.ts +6 -6
  227. package/dist/src/apply_condition_refresh.js +27 -27
  228. package/dist/src/base_node.d.ts +270 -0
  229. package/dist/src/base_node.js +1299 -0
  230. package/dist/src/base_node.js.map +1 -0
  231. package/dist/src/base_node_impl.d.ts +281 -281
  232. package/dist/src/base_node_impl.js +1395 -1395
  233. package/dist/src/base_node_private.d.ts +61 -61
  234. package/dist/src/base_node_private.js +705 -705
  235. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  236. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  237. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  238. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  239. package/dist/src/data_access/ua_analog_item.d.ts +13 -0
  240. package/dist/src/data_access/ua_analog_item.js +37 -0
  241. package/dist/src/data_access/ua_analog_item.js.map +1 -0
  242. package/dist/src/data_access/ua_data_item.d.ts +16 -0
  243. package/dist/src/data_access/ua_data_item.js +66 -0
  244. package/dist/src/data_access/ua_data_item.js.map +1 -0
  245. package/dist/src/data_access/ua_multistate_discrete.d.ts +24 -0
  246. package/dist/src/data_access/ua_multistate_discrete.js +132 -0
  247. package/dist/src/data_access/ua_multistate_discrete.js.map +1 -0
  248. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  249. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  250. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  251. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  252. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  253. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  254. package/dist/src/event_data.d.ts +29 -29
  255. package/dist/src/event_data.js +95 -95
  256. package/dist/src/extension_object_array_node.d.ts +61 -61
  257. package/dist/src/extension_object_array_node.js +276 -276
  258. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  259. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  260. package/dist/src/index_current.d.ts +45 -45
  261. package/dist/src/index_current.js +77 -77
  262. package/dist/src/namespace.d.ts +472 -0
  263. package/dist/src/namespace.js +1759 -0
  264. package/dist/src/namespace.js.map +1 -0
  265. package/dist/src/namespace_impl.d.ts +457 -457
  266. package/dist/src/namespace_impl.js +1733 -1733
  267. package/dist/src/namespace_private.d.ts +21 -21
  268. package/dist/src/namespace_private.js +32 -32
  269. package/dist/src/nodeid_manager.d.ts +36 -36
  270. package/dist/src/nodeid_manager.js +197 -197
  271. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  272. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  273. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  274. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  275. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  276. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  277. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  278. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  279. package/dist/src/reference.d.ts +43 -0
  280. package/dist/src/reference.js +138 -0
  281. package/dist/src/reference.js.map +1 -0
  282. package/dist/src/reference_impl.d.ts +43 -43
  283. package/dist/src/reference_impl.js +139 -139
  284. package/dist/src/role_permissions.d.ts +2 -2
  285. package/dist/src/role_permissions.js +10 -10
  286. package/dist/src/session_context.d.ts +4 -0
  287. package/dist/src/session_context.js +9 -0
  288. package/dist/src/session_context.js.map +1 -0
  289. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  290. package/dist/src/state_machine/finite_state_machine.js +353 -353
  291. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  292. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  293. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  294. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  295. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  296. package/dist/src/tool_isSupertypeOf.js +108 -108
  297. package/dist/src/ua_condition_type.d.ts +8 -8
  298. package/dist/src/ua_condition_type.js +2 -2
  299. package/dist/src/ua_data_type.d.ts +81 -0
  300. package/dist/src/ua_data_type.js +259 -0
  301. package/dist/src/ua_data_type.js.map +1 -0
  302. package/dist/src/ua_data_type_impl.d.ts +93 -93
  303. package/dist/src/ua_data_type_impl.js +368 -368
  304. package/dist/src/ua_method.d.ts +33 -0
  305. package/dist/src/ua_method.js +194 -0
  306. package/dist/src/ua_method.js.map +1 -0
  307. package/dist/src/ua_method_impl.d.ts +41 -41
  308. package/dist/src/ua_method_impl.js +208 -208
  309. package/dist/src/ua_object.d.ts +27 -0
  310. package/dist/src/ua_object.js +153 -0
  311. package/dist/src/ua_object.js.map +1 -0
  312. package/dist/src/ua_object_impl.d.ts +33 -33
  313. package/dist/src/ua_object_impl.js +156 -156
  314. package/dist/src/ua_object_type.d.ts +49 -0
  315. package/dist/src/ua_object_type.js +123 -0
  316. package/dist/src/ua_object_type.js.map +1 -0
  317. package/dist/src/ua_object_type_impl.d.ts +48 -48
  318. package/dist/src/ua_object_type_impl.js +124 -124
  319. package/dist/src/ua_reference_type.d.ts +31 -0
  320. package/dist/src/ua_reference_type.js +108 -0
  321. package/dist/src/ua_reference_type.js.map +1 -0
  322. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  323. package/dist/src/ua_reference_type_impl.js +139 -139
  324. package/dist/src/ua_variable.d.ts +346 -0
  325. package/dist/src/ua_variable.js +1651 -0
  326. package/dist/src/ua_variable.js.map +1 -0
  327. package/dist/src/ua_variable_impl.d.ts +351 -351
  328. package/dist/src/ua_variable_impl.js +1604 -1604
  329. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  330. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  331. package/dist/src/ua_variable_type.d.ts +57 -0
  332. package/dist/src/ua_variable_type.js +530 -0
  333. package/dist/src/ua_variable_type.js.map +1 -0
  334. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  335. package/dist/src/ua_variable_type_impl.js +570 -564
  336. package/dist/src/ua_variable_type_impl.js.map +1 -1
  337. package/dist/src/ua_view.d.ts +16 -0
  338. package/dist/src/ua_view.js +41 -0
  339. package/dist/src/ua_view.js.map +1 -0
  340. package/dist/src/ua_view_impl.d.ts +15 -15
  341. package/dist/src/ua_view_impl.js +36 -36
  342. package/distHelpers/add_event_generator_object.d.ts +3 -3
  343. package/distHelpers/add_event_generator_object.js +65 -65
  344. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  345. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  346. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  347. package/distHelpers/assertHasMatchingReference.js +40 -40
  348. package/distHelpers/boiler_system.d.ts +113 -113
  349. package/distHelpers/boiler_system.js +395 -395
  350. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  351. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  352. package/distHelpers/date_utils.d.ts +3 -3
  353. package/distHelpers/date_utils.js +9 -9
  354. package/distHelpers/dump_statemachine.js +127 -127
  355. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  356. package/distHelpers/get_address_space_fixture.js +30 -30
  357. package/distHelpers/get_mini_address_space.d.ts +7 -7
  358. package/distHelpers/get_mini_address_space.js +36 -36
  359. package/distHelpers/index.d.ts +12 -12
  360. package/distHelpers/index.js +28 -28
  361. package/distHelpers/mock_session.d.ts +14 -14
  362. package/distHelpers/mock_session.js +25 -25
  363. package/distNodeJS/generate_address_space.d.ts +4 -4
  364. package/distNodeJS/generate_address_space.js +41 -41
  365. package/distNodeJS/index.d.ts +1 -1
  366. package/distNodeJS/index.js +17 -17
  367. package/package.json +38 -38
  368. package/src/ua_variable_type_impl.ts +11 -4
  369. package/test_helpers/test_fixtures/eurange_issue.xml +73 -0
@@ -1,21 +1,21 @@
1
- import { NodeId } from "node-opcua-nodeid";
2
- import { AddReferenceOpts, BaseNode, ConstructNodeIdOptions, CreateNodeOptions, ModellingRuleType, INamespace, UADataType } from "node-opcua-address-space-base";
3
- import { AddressSpacePrivate } from "./address_space_private";
4
- export interface NamespacePrivate extends INamespace {
5
- addressSpace: AddressSpacePrivate;
6
- nodeIterator(): IterableIterator<BaseNode>;
7
- constructNodeId(options: ConstructNodeIdOptions): NodeId;
8
- resolveAlias(name: string): NodeId | null;
9
- dispose(): void;
10
- _register(node: BaseNode): void;
11
- _deleteNode(node: BaseNode): void;
12
- internalCreateNode(options: CreateNodeOptions): BaseNode;
13
- _dataTypeIterator(): IterableIterator<UADataType>;
14
- }
15
- export declare const NamespacePrivate: new (options: any) => NamespacePrivate;
16
- /**
17
- * @param references
18
- * @param modellingRule
19
- * @private
20
- */
21
- export declare function UANamespace_process_modelling_rule(references: AddReferenceOpts[], modellingRule: ModellingRuleType): void;
1
+ import { NodeId } from "node-opcua-nodeid";
2
+ import { AddReferenceOpts, BaseNode, ConstructNodeIdOptions, CreateNodeOptions, ModellingRuleType, INamespace, UADataType } from "node-opcua-address-space-base";
3
+ import { AddressSpacePrivate } from "./address_space_private";
4
+ export interface NamespacePrivate extends INamespace {
5
+ addressSpace: AddressSpacePrivate;
6
+ nodeIterator(): IterableIterator<BaseNode>;
7
+ constructNodeId(options: ConstructNodeIdOptions): NodeId;
8
+ resolveAlias(name: string): NodeId | null;
9
+ dispose(): void;
10
+ _register(node: BaseNode): void;
11
+ _deleteNode(node: BaseNode): void;
12
+ internalCreateNode(options: CreateNodeOptions): BaseNode;
13
+ _dataTypeIterator(): IterableIterator<UADataType>;
14
+ }
15
+ export declare const NamespacePrivate: new (options: any) => NamespacePrivate;
16
+ /**
17
+ * @param references
18
+ * @param modellingRule
19
+ * @private
20
+ */
21
+ export declare function UANamespace_process_modelling_rule(references: AddReferenceOpts[], modellingRule: ModellingRuleType): void;
@@ -1,33 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UANamespace_process_modelling_rule = void 0;
4
- /**
5
- * @module node-opcua-address-space.Private
6
- */
7
- const node_opcua_assert_1 = require("node-opcua-assert");
8
- function isValidModellingRule(ruleName) {
9
- return (ruleName === null ||
10
- ruleName === "Mandatory" ||
11
- ruleName === "Optional" ||
12
- ruleName === "OptionalPlaceholder" ||
13
- ruleName === "MandatoryPlaceholder" ||
14
- ruleName === "ExposesItsArray");
15
- }
16
- /**
17
- * @param references
18
- * @param modellingRule
19
- * @private
20
- */
21
- function UANamespace_process_modelling_rule(references, modellingRule) {
22
- if (modellingRule) {
23
- (0, node_opcua_assert_1.assert)(isValidModellingRule(modellingRule), "expecting a valid modelling rule");
24
- const modellingRuleName = "ModellingRule_" + modellingRule;
25
- // assert(this.findNode(modellingRuleName),"Modelling rule must exist");
26
- references.push({
27
- nodeId: modellingRuleName,
28
- referenceType: "HasModellingRule"
29
- });
30
- }
31
- }
32
- exports.UANamespace_process_modelling_rule = UANamespace_process_modelling_rule;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UANamespace_process_modelling_rule = void 0;
4
+ /**
5
+ * @module node-opcua-address-space.Private
6
+ */
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ function isValidModellingRule(ruleName) {
9
+ return (ruleName === null ||
10
+ ruleName === "Mandatory" ||
11
+ ruleName === "Optional" ||
12
+ ruleName === "OptionalPlaceholder" ||
13
+ ruleName === "MandatoryPlaceholder" ||
14
+ ruleName === "ExposesItsArray");
15
+ }
16
+ /**
17
+ * @param references
18
+ * @param modellingRule
19
+ * @private
20
+ */
21
+ function UANamespace_process_modelling_rule(references, modellingRule) {
22
+ if (modellingRule) {
23
+ (0, node_opcua_assert_1.assert)(isValidModellingRule(modellingRule), "expecting a valid modelling rule");
24
+ const modellingRuleName = "ModellingRule_" + modellingRule;
25
+ // assert(this.findNode(modellingRuleName),"Modelling rule must exist");
26
+ references.push({
27
+ nodeId: modellingRuleName,
28
+ referenceType: "HasModellingRule"
29
+ });
30
+ }
31
+ }
32
+ exports.UANamespace_process_modelling_rule = UANamespace_process_modelling_rule;
33
33
  //# sourceMappingURL=namespace_private.js.map
@@ -1,36 +1,36 @@
1
- import { NodeClass, QualifiedName } from "node-opcua-data-model";
2
- import { NodeId, NodeIdLike } from "node-opcua-nodeid";
3
- import { BaseNode, UAReference, UAReferenceType } from "node-opcua-address-space-base";
4
- export declare const NamespaceOptions: {
5
- nodeIdNameSeparator: string;
6
- };
7
- export interface AddressSpacePartial {
8
- findNode(nodeId: NodeIdLike): BaseNode | null;
9
- findReferenceType(refType: NodeIdLike, namespaceIndex?: number): UAReferenceType | null;
10
- }
11
- export interface ConstructNodeIdOptions {
12
- nodeId?: string | NodeIdLike | null;
13
- browseName: QualifiedName;
14
- nodeClass: NodeClass;
15
- references?: UAReference[];
16
- }
17
- export declare type NodeEntry = [string, number, NodeClass];
18
- export declare type NodeEntry1 = [string, number, string];
19
- export declare class NodeIdManager {
20
- private _cache;
21
- private _reverseCache;
22
- private _internal_id_counter;
23
- private namespaceIndex;
24
- private addressSpace;
25
- constructor(namespaceIndex: number, addressSpace: AddressSpacePartial);
26
- setCache(cache: NodeEntry[]): void;
27
- setSymbols(symbols: NodeEntry1[]): void;
28
- getSymbols(): NodeEntry1[];
29
- getSymbolCSV(): string;
30
- buildNewNodeId(): NodeId;
31
- constructNodeId(options: ConstructNodeIdOptions): NodeId;
32
- findParentNodeId(options: ConstructNodeIdOptions): [NodeId, string] | null;
33
- private _addInCache;
34
- private _isInCache;
35
- private _getOrCreateFromName;
36
- }
1
+ import { NodeClass, QualifiedName } from "node-opcua-data-model";
2
+ import { NodeId, NodeIdLike } from "node-opcua-nodeid";
3
+ import { BaseNode, UAReference, UAReferenceType } from "node-opcua-address-space-base";
4
+ export declare const NamespaceOptions: {
5
+ nodeIdNameSeparator: string;
6
+ };
7
+ export interface AddressSpacePartial {
8
+ findNode(nodeId: NodeIdLike): BaseNode | null;
9
+ findReferenceType(refType: NodeIdLike, namespaceIndex?: number): UAReferenceType | null;
10
+ }
11
+ export interface ConstructNodeIdOptions {
12
+ nodeId?: string | NodeIdLike | null;
13
+ browseName: QualifiedName;
14
+ nodeClass: NodeClass;
15
+ references?: UAReference[];
16
+ }
17
+ export declare type NodeEntry = [string, number, NodeClass];
18
+ export declare type NodeEntry1 = [string, number, string];
19
+ export declare class NodeIdManager {
20
+ private _cache;
21
+ private _reverseCache;
22
+ private _internal_id_counter;
23
+ private namespaceIndex;
24
+ private addressSpace;
25
+ constructor(namespaceIndex: number, addressSpace: AddressSpacePartial);
26
+ setCache(cache: NodeEntry[]): void;
27
+ setSymbols(symbols: NodeEntry1[]): void;
28
+ getSymbols(): NodeEntry1[];
29
+ getSymbolCSV(): string;
30
+ buildNewNodeId(): NodeId;
31
+ constructNodeId(options: ConstructNodeIdOptions): NodeId;
32
+ findParentNodeId(options: ConstructNodeIdOptions): [NodeId, string] | null;
33
+ private _addInCache;
34
+ private _isInCache;
35
+ private _getOrCreateFromName;
36
+ }
@@ -1,198 +1,198 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NodeIdManager = exports.NamespaceOptions = void 0;
4
- const node_opcua_assert_1 = require("node-opcua-assert");
5
- const node_opcua_data_model_1 = require("node-opcua-data-model");
6
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
7
- const node_opcua_debug_1 = require("node-opcua-debug");
8
- const base_node_impl_1 = require("./base_node_impl");
9
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
10
- exports.NamespaceOptions = {
11
- nodeIdNameSeparator: "-"
12
- };
13
- function isValidNodeClass(nodeClass) {
14
- return typeof node_opcua_data_model_1.NodeClass[nodeClass] === "string";
15
- }
16
- const regExp1 = /^(s|i|b|g)=/;
17
- const regExp2 = /^ns=[0-9]+;(s|i|b|g)=/;
18
- const hasPropertyRefId = (0, node_opcua_nodeid_1.resolveNodeId)("HasProperty");
19
- const hasComponentRefId = (0, node_opcua_nodeid_1.resolveNodeId)("HasComponent");
20
- const hasEncoding = (0, node_opcua_nodeid_1.resolveNodeId)("HasEncoding");
21
- function _identifyParentInReference(references) {
22
- const candidates = references.filter((r) => {
23
- return (!r.isForward &&
24
- ((0, node_opcua_nodeid_1.sameNodeId)(r.referenceType, hasComponentRefId) ||
25
- (0, node_opcua_nodeid_1.sameNodeId)(r.referenceType, hasPropertyRefId) ||
26
- (0, node_opcua_nodeid_1.sameNodeId)(r.referenceType, hasEncoding)));
27
- });
28
- (0, node_opcua_assert_1.assert)(candidates.length <= 1);
29
- if (candidates.length === 0) {
30
- return null;
31
- }
32
- const ref = candidates[0];
33
- if ((0, node_opcua_nodeid_1.sameNodeId)(ref.referenceType, hasEncoding)) {
34
- return [ref.nodeId, "_Encoding"];
35
- }
36
- return [ref.nodeId, ""];
37
- }
38
- class NodeIdManager {
39
- constructor(namespaceIndex, addressSpace) {
40
- this._cache = {};
41
- this._reverseCache = {};
42
- this._internal_id_counter = 1000;
43
- this.namespaceIndex = namespaceIndex;
44
- this.addressSpace = addressSpace;
45
- }
46
- setCache(cache) {
47
- this._cache = {};
48
- this._reverseCache = {};
49
- for (const [key, value, nodeClass] of cache) {
50
- this._addInCache(key, value, nodeClass);
51
- }
52
- }
53
- setSymbols(symbols) {
54
- function convertNodeClass(nodeClass) {
55
- return node_opcua_data_model_1.NodeClass[nodeClass];
56
- }
57
- const symbols2 = symbols.map((e) => [e[0], e[1], convertNodeClass(e[2])]);
58
- this.setCache(symbols2);
59
- }
60
- getSymbols() {
61
- const line = [];
62
- for (const [key, value] of Object.entries(this._cache)) {
63
- const nodeClass = node_opcua_data_model_1.NodeClass[this._reverseCache[value].nodeClass];
64
- line.push([key, value, nodeClass]);
65
- }
66
- return line;
67
- }
68
- getSymbolCSV() {
69
- const line = [];
70
- for (const [name, value, nodeClass] of this.getSymbols()) {
71
- line.push([name, value, nodeClass].join(";"));
72
- }
73
- return line.join("\n");
74
- }
75
- buildNewNodeId() {
76
- let nodeId;
77
- do {
78
- nodeId = (0, node_opcua_nodeid_1.makeNodeId)(this._internal_id_counter, this.namespaceIndex);
79
- this._internal_id_counter += 1;
80
- } while (this.addressSpace.findNode(nodeId) || this._isInCache(nodeId.value));
81
- return nodeId;
82
- }
83
- constructNodeId(options) {
84
- function prepareName(browseName) {
85
- (0, node_opcua_assert_1.assert)(browseName instanceof node_opcua_data_model_1.QualifiedName);
86
- const m = browseName.name.toString().replace(/[ ]/g, "").replace(/(<|>)/g, "");
87
- return m;
88
- }
89
- let nodeId = options.nodeId;
90
- const nodeClass = options.nodeClass;
91
- if (!nodeId) {
92
- // console.log("xx constructNodeId", options.browseName.toString());
93
- const parentInfo = this.findParentNodeId(options);
94
- if (parentInfo) {
95
- const [parentNodeId, linkName] = parentInfo;
96
- const name = prepareName(options.browseName);
97
- nodeId = null;
98
- if (parentNodeId.identifierType === node_opcua_nodeid_1.NodeId.NodeIdType.STRING) {
99
- // combining string nodeId => not stored in chache
100
- const childName = parentNodeId.value + exports.NamespaceOptions.nodeIdNameSeparator + name;
101
- nodeId = new node_opcua_nodeid_1.NodeId(node_opcua_nodeid_1.NodeId.NodeIdType.STRING, childName, parentNodeId.namespace);
102
- return nodeId;
103
- }
104
- else if (parentNodeId.identifierType === node_opcua_nodeid_1.NodeId.NodeIdType.NUMERIC) {
105
- //
106
- const baseNameInCache = this._reverseCache[parentNodeId.value];
107
- if (baseNameInCache) {
108
- const newName = baseNameInCache.name + linkName + "_" + name;
109
- const nodeIdValueInCache = this._cache[newName];
110
- if (nodeIdValueInCache) {
111
- return new node_opcua_nodeid_1.NodeId(node_opcua_nodeid_1.NodeIdType.NUMERIC, nodeIdValueInCache, this.namespaceIndex);
112
- }
113
- else {
114
- return this._getOrCreateFromName(newName, nodeClass);
115
- }
116
- }
117
- }
118
- // }} has parent ...
119
- }
120
- else {
121
- const isRootType = options.nodeClass === node_opcua_data_model_1.NodeClass.DataType ||
122
- options.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType ||
123
- options.nodeClass === node_opcua_data_model_1.NodeClass.ReferenceType ||
124
- options.nodeClass === node_opcua_data_model_1.NodeClass.VariableType;
125
- // try to find
126
- if (isRootType) {
127
- const baseName = options.browseName.name.toString();
128
- return this._getOrCreateFromName(baseName, nodeClass);
129
- }
130
- }
131
- }
132
- else if (typeof nodeId === "string") {
133
- if (this.namespaceIndex !== 0) {
134
- if (nodeId.match(regExp2)) {
135
- // nothing
136
- }
137
- else if (nodeId.match(regExp1)) {
138
- nodeId = "ns=" + this.namespaceIndex + ";" + nodeId;
139
- }
140
- else {
141
- nodeId = this._getOrCreateFromName(nodeId, nodeClass);
142
- }
143
- }
144
- }
145
- nodeId = nodeId || this.buildNewNodeId();
146
- if (nodeId instanceof node_opcua_nodeid_1.NodeId) {
147
- (0, node_opcua_assert_1.assert)(nodeId.namespace === this.namespaceIndex);
148
- return nodeId;
149
- }
150
- nodeId = (0, node_opcua_nodeid_1.resolveNodeId)(nodeId);
151
- (0, node_opcua_assert_1.assert)(nodeId.namespace === this.namespaceIndex);
152
- return nodeId;
153
- }
154
- findParentNodeId(options) {
155
- if (!options.references) {
156
- return null;
157
- }
158
- for (const ref of options.references) {
159
- ref._referenceType = this.addressSpace.findReferenceType(ref.referenceType);
160
- /* istanbul ignore next */
161
- if (!(0, base_node_impl_1.getReferenceType)(ref)) {
162
- throw new Error("Cannot find referenceType " + JSON.stringify(ref));
163
- }
164
- ref.referenceType = ref._referenceType.nodeId;
165
- }
166
- // find HasComponent, or has Property reverse
167
- return _identifyParentInReference(options.references);
168
- }
169
- _addInCache(name, nodeIdValue, nodeClass) {
170
- (0, node_opcua_assert_1.assert)(!name.includes(":"), "Alias name should not contain special characters");
171
- (0, node_opcua_assert_1.assert)(typeof name === "string" && name[0] !== "[");
172
- if (this._isInCache(nodeIdValue) || this._cache[name]) {
173
- throw new Error("Already in Cache !" + name + " " + nodeIdValue + " = " + this._cache[name]);
174
- }
175
- this._cache[name] = nodeIdValue;
176
- this._reverseCache[nodeIdValue] = { name, nodeClass };
177
- }
178
- _isInCache(nodeIdValue) {
179
- return this._reverseCache[nodeIdValue] ? true : false;
180
- }
181
- _getOrCreateFromName(aliasName, nodeClass) {
182
- (0, node_opcua_assert_1.assert)(isValidNodeClass(nodeClass), "invalid node class " + nodeClass);
183
- if (aliasName.includes(":")) {
184
- debugLog("alias name should not contain special characters");
185
- }
186
- (0, node_opcua_assert_1.assert)(!aliasName.includes(":"), "Alias name should not contain special characters");
187
- if (this._cache[aliasName]) {
188
- return new node_opcua_nodeid_1.NodeId(node_opcua_nodeid_1.NodeIdType.NUMERIC, this._cache[aliasName], this.namespaceIndex);
189
- }
190
- else {
191
- const nodeIdResult = this.buildNewNodeId();
192
- this._addInCache(aliasName, nodeIdResult.value, nodeClass);
193
- return nodeIdResult;
194
- }
195
- }
196
- }
197
- exports.NodeIdManager = NodeIdManager;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeIdManager = exports.NamespaceOptions = void 0;
4
+ const node_opcua_assert_1 = require("node-opcua-assert");
5
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
6
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
7
+ const node_opcua_debug_1 = require("node-opcua-debug");
8
+ const base_node_impl_1 = require("./base_node_impl");
9
+ const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
10
+ exports.NamespaceOptions = {
11
+ nodeIdNameSeparator: "-"
12
+ };
13
+ function isValidNodeClass(nodeClass) {
14
+ return typeof node_opcua_data_model_1.NodeClass[nodeClass] === "string";
15
+ }
16
+ const regExp1 = /^(s|i|b|g)=/;
17
+ const regExp2 = /^ns=[0-9]+;(s|i|b|g)=/;
18
+ const hasPropertyRefId = (0, node_opcua_nodeid_1.resolveNodeId)("HasProperty");
19
+ const hasComponentRefId = (0, node_opcua_nodeid_1.resolveNodeId)("HasComponent");
20
+ const hasEncoding = (0, node_opcua_nodeid_1.resolveNodeId)("HasEncoding");
21
+ function _identifyParentInReference(references) {
22
+ const candidates = references.filter((r) => {
23
+ return (!r.isForward &&
24
+ ((0, node_opcua_nodeid_1.sameNodeId)(r.referenceType, hasComponentRefId) ||
25
+ (0, node_opcua_nodeid_1.sameNodeId)(r.referenceType, hasPropertyRefId) ||
26
+ (0, node_opcua_nodeid_1.sameNodeId)(r.referenceType, hasEncoding)));
27
+ });
28
+ (0, node_opcua_assert_1.assert)(candidates.length <= 1);
29
+ if (candidates.length === 0) {
30
+ return null;
31
+ }
32
+ const ref = candidates[0];
33
+ if ((0, node_opcua_nodeid_1.sameNodeId)(ref.referenceType, hasEncoding)) {
34
+ return [ref.nodeId, "_Encoding"];
35
+ }
36
+ return [ref.nodeId, ""];
37
+ }
38
+ class NodeIdManager {
39
+ constructor(namespaceIndex, addressSpace) {
40
+ this._cache = {};
41
+ this._reverseCache = {};
42
+ this._internal_id_counter = 1000;
43
+ this.namespaceIndex = namespaceIndex;
44
+ this.addressSpace = addressSpace;
45
+ }
46
+ setCache(cache) {
47
+ this._cache = {};
48
+ this._reverseCache = {};
49
+ for (const [key, value, nodeClass] of cache) {
50
+ this._addInCache(key, value, nodeClass);
51
+ }
52
+ }
53
+ setSymbols(symbols) {
54
+ function convertNodeClass(nodeClass) {
55
+ return node_opcua_data_model_1.NodeClass[nodeClass];
56
+ }
57
+ const symbols2 = symbols.map((e) => [e[0], e[1], convertNodeClass(e[2])]);
58
+ this.setCache(symbols2);
59
+ }
60
+ getSymbols() {
61
+ const line = [];
62
+ for (const [key, value] of Object.entries(this._cache)) {
63
+ const nodeClass = node_opcua_data_model_1.NodeClass[this._reverseCache[value].nodeClass];
64
+ line.push([key, value, nodeClass]);
65
+ }
66
+ return line;
67
+ }
68
+ getSymbolCSV() {
69
+ const line = [];
70
+ for (const [name, value, nodeClass] of this.getSymbols()) {
71
+ line.push([name, value, nodeClass].join(";"));
72
+ }
73
+ return line.join("\n");
74
+ }
75
+ buildNewNodeId() {
76
+ let nodeId;
77
+ do {
78
+ nodeId = (0, node_opcua_nodeid_1.makeNodeId)(this._internal_id_counter, this.namespaceIndex);
79
+ this._internal_id_counter += 1;
80
+ } while (this.addressSpace.findNode(nodeId) || this._isInCache(nodeId.value));
81
+ return nodeId;
82
+ }
83
+ constructNodeId(options) {
84
+ function prepareName(browseName) {
85
+ (0, node_opcua_assert_1.assert)(browseName instanceof node_opcua_data_model_1.QualifiedName);
86
+ const m = browseName.name.toString().replace(/[ ]/g, "").replace(/(<|>)/g, "");
87
+ return m;
88
+ }
89
+ let nodeId = options.nodeId;
90
+ const nodeClass = options.nodeClass;
91
+ if (!nodeId) {
92
+ // console.log("xx constructNodeId", options.browseName.toString());
93
+ const parentInfo = this.findParentNodeId(options);
94
+ if (parentInfo) {
95
+ const [parentNodeId, linkName] = parentInfo;
96
+ const name = prepareName(options.browseName);
97
+ nodeId = null;
98
+ if (parentNodeId.identifierType === node_opcua_nodeid_1.NodeId.NodeIdType.STRING) {
99
+ // combining string nodeId => not stored in chache
100
+ const childName = parentNodeId.value + exports.NamespaceOptions.nodeIdNameSeparator + name;
101
+ nodeId = new node_opcua_nodeid_1.NodeId(node_opcua_nodeid_1.NodeId.NodeIdType.STRING, childName, parentNodeId.namespace);
102
+ return nodeId;
103
+ }
104
+ else if (parentNodeId.identifierType === node_opcua_nodeid_1.NodeId.NodeIdType.NUMERIC) {
105
+ //
106
+ const baseNameInCache = this._reverseCache[parentNodeId.value];
107
+ if (baseNameInCache) {
108
+ const newName = baseNameInCache.name + linkName + "_" + name;
109
+ const nodeIdValueInCache = this._cache[newName];
110
+ if (nodeIdValueInCache) {
111
+ return new node_opcua_nodeid_1.NodeId(node_opcua_nodeid_1.NodeIdType.NUMERIC, nodeIdValueInCache, this.namespaceIndex);
112
+ }
113
+ else {
114
+ return this._getOrCreateFromName(newName, nodeClass);
115
+ }
116
+ }
117
+ }
118
+ // }} has parent ...
119
+ }
120
+ else {
121
+ const isRootType = options.nodeClass === node_opcua_data_model_1.NodeClass.DataType ||
122
+ options.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType ||
123
+ options.nodeClass === node_opcua_data_model_1.NodeClass.ReferenceType ||
124
+ options.nodeClass === node_opcua_data_model_1.NodeClass.VariableType;
125
+ // try to find
126
+ if (isRootType) {
127
+ const baseName = options.browseName.name.toString();
128
+ return this._getOrCreateFromName(baseName, nodeClass);
129
+ }
130
+ }
131
+ }
132
+ else if (typeof nodeId === "string") {
133
+ if (this.namespaceIndex !== 0) {
134
+ if (nodeId.match(regExp2)) {
135
+ // nothing
136
+ }
137
+ else if (nodeId.match(regExp1)) {
138
+ nodeId = "ns=" + this.namespaceIndex + ";" + nodeId;
139
+ }
140
+ else {
141
+ nodeId = this._getOrCreateFromName(nodeId, nodeClass);
142
+ }
143
+ }
144
+ }
145
+ nodeId = nodeId || this.buildNewNodeId();
146
+ if (nodeId instanceof node_opcua_nodeid_1.NodeId) {
147
+ (0, node_opcua_assert_1.assert)(nodeId.namespace === this.namespaceIndex);
148
+ return nodeId;
149
+ }
150
+ nodeId = (0, node_opcua_nodeid_1.resolveNodeId)(nodeId);
151
+ (0, node_opcua_assert_1.assert)(nodeId.namespace === this.namespaceIndex);
152
+ return nodeId;
153
+ }
154
+ findParentNodeId(options) {
155
+ if (!options.references) {
156
+ return null;
157
+ }
158
+ for (const ref of options.references) {
159
+ ref._referenceType = this.addressSpace.findReferenceType(ref.referenceType);
160
+ /* istanbul ignore next */
161
+ if (!(0, base_node_impl_1.getReferenceType)(ref)) {
162
+ throw new Error("Cannot find referenceType " + JSON.stringify(ref));
163
+ }
164
+ ref.referenceType = ref._referenceType.nodeId;
165
+ }
166
+ // find HasComponent, or has Property reverse
167
+ return _identifyParentInReference(options.references);
168
+ }
169
+ _addInCache(name, nodeIdValue, nodeClass) {
170
+ (0, node_opcua_assert_1.assert)(!name.includes(":"), "Alias name should not contain special characters");
171
+ (0, node_opcua_assert_1.assert)(typeof name === "string" && name[0] !== "[");
172
+ if (this._isInCache(nodeIdValue) || this._cache[name]) {
173
+ throw new Error("Already in Cache !" + name + " " + nodeIdValue + " = " + this._cache[name]);
174
+ }
175
+ this._cache[name] = nodeIdValue;
176
+ this._reverseCache[nodeIdValue] = { name, nodeClass };
177
+ }
178
+ _isInCache(nodeIdValue) {
179
+ return this._reverseCache[nodeIdValue] ? true : false;
180
+ }
181
+ _getOrCreateFromName(aliasName, nodeClass) {
182
+ (0, node_opcua_assert_1.assert)(isValidNodeClass(nodeClass), "invalid node class " + nodeClass);
183
+ if (aliasName.includes(":")) {
184
+ debugLog("alias name should not contain special characters");
185
+ }
186
+ (0, node_opcua_assert_1.assert)(!aliasName.includes(":"), "Alias name should not contain special characters");
187
+ if (this._cache[aliasName]) {
188
+ return new node_opcua_nodeid_1.NodeId(node_opcua_nodeid_1.NodeIdType.NUMERIC, this._cache[aliasName], this.namespaceIndex);
189
+ }
190
+ else {
191
+ const nodeIdResult = this.buildNewNodeId();
192
+ this._addInCache(aliasName, nodeIdResult.value, nodeClass);
193
+ return nodeIdResult;
194
+ }
195
+ }
196
+ }
197
+ exports.NodeIdManager = NodeIdManager;
198
198
  //# sourceMappingURL=nodeid_manager.js.map
@@ -1,2 +1,2 @@
1
- import { IAddressSpace } from "node-opcua-address-space-base";
2
- export declare function adjustNamespaceArray(addressSpace: IAddressSpace): void;
1
+ import { IAddressSpace } from "node-opcua-address-space-base";
2
+ export declare function adjustNamespaceArray(addressSpace: IAddressSpace): void;
@@ -1,14 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.adjustNamespaceArray = void 0;
4
- function adjustNamespaceArray(addressSpace) {
5
- const namepsaceArrayVar = addressSpace.findNode("Server_NamespaceArray");
6
- if (namepsaceArrayVar) {
7
- namepsaceArrayVar.setValueFromSource({
8
- dataType: "String",
9
- value: addressSpace.getNamespaceArray().map((n) => n.namespaceUri)
10
- });
11
- }
12
- }
13
- exports.adjustNamespaceArray = adjustNamespaceArray;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adjustNamespaceArray = void 0;
4
+ function adjustNamespaceArray(addressSpace) {
5
+ const namepsaceArrayVar = addressSpace.findNode("Server_NamespaceArray");
6
+ if (namepsaceArrayVar) {
7
+ namepsaceArrayVar.setValueFromSource({
8
+ dataType: "String",
9
+ value: addressSpace.getNamespaceArray().map((n) => n.namespaceUri)
10
+ });
11
+ }
12
+ }
13
+ exports.adjustNamespaceArray = adjustNamespaceArray;
14
14
  //# sourceMappingURL=adjust_namespace_array.js.map
@@ -1,2 +1,2 @@
1
- import { INamespace } from "node-opcua-address-space-base";
2
- export declare function constructNamespaceDependency(namespace: INamespace): INamespace[];
1
+ import { INamespace } from "node-opcua-address-space-base";
2
+ export declare function constructNamespaceDependency(namespace: INamespace): INamespace[];