node-opcua-address-space 2.97.0 → 2.98.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 (428) hide show
  1. package/package.json +37 -37
  2. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +4 -3
  3. package/src/alarms_and_conditions/ua_condition_impl.ts +14 -9
  4. package/src/base_node_private.ts +73 -28
  5. package/src/ua_variable_type_impl.ts +35 -17
  6. package/dist/source/address_space_ts.d.ts +0 -118
  7. package/dist/source/address_space_ts.js +0 -18
  8. package/dist/source/address_space_ts.js.map +0 -1
  9. package/dist/source/continuation_points/continuation_point_manager.d.ts +0 -91
  10. package/dist/source/continuation_points/continuation_point_manager.js +0 -201
  11. package/dist/source/continuation_points/continuation_point_manager.js.map +0 -1
  12. package/dist/source/helpers/adjust_browse_direction.d.ts +0 -5
  13. package/dist/source/helpers/adjust_browse_direction.js +0 -12
  14. package/dist/source/helpers/adjust_browse_direction.js.map +0 -1
  15. package/dist/source/helpers/argument_list.d.ts +0 -33
  16. package/dist/source/helpers/argument_list.js +0 -255
  17. package/dist/source/helpers/argument_list.js.map +0 -1
  18. package/dist/source/helpers/call_helpers.d.ts +0 -6
  19. package/dist/source/helpers/call_helpers.js +0 -72
  20. package/dist/source/helpers/call_helpers.js.map +0 -1
  21. package/dist/source/helpers/coerce_enum_value.d.ts +0 -6
  22. package/dist/source/helpers/coerce_enum_value.js +0 -34
  23. package/dist/source/helpers/coerce_enum_value.js.map +0 -1
  24. package/dist/source/helpers/dump_tools.d.ts +0 -14
  25. package/dist/source/helpers/dump_tools.js +0 -79
  26. package/dist/source/helpers/dump_tools.js.map +0 -1
  27. package/dist/source/helpers/ensure_secure_access.d.ts +0 -9
  28. package/dist/source/helpers/ensure_secure_access.js +0 -77
  29. package/dist/source/helpers/ensure_secure_access.js.map +0 -1
  30. package/dist/source/helpers/make_optionals_map.d.ts +0 -21
  31. package/dist/source/helpers/make_optionals_map.js +0 -30
  32. package/dist/source/helpers/make_optionals_map.js.map +0 -1
  33. package/dist/source/helpers/multiform_func.d.ts +0 -11
  34. package/dist/source/helpers/multiform_func.js +0 -76
  35. package/dist/source/helpers/multiform_func.js.map +0 -1
  36. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +0 -3
  37. package/dist/source/helpers/resolve_opaque_on_address_space.js +0 -37
  38. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +0 -1
  39. package/dist/source/index.d.ts +0 -61
  40. package/dist/source/index.js +0 -90
  41. package/dist/source/index.js.map +0 -1
  42. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +0 -19
  43. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +0 -3
  44. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +0 -1
  45. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +0 -193
  46. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +0 -3
  47. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +0 -1
  48. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +0 -12
  49. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +0 -3
  50. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js.map +0 -1
  51. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +0 -10
  52. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +0 -3
  53. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js.map +0 -1
  54. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +0 -7
  55. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +0 -3
  56. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +0 -1
  57. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +0 -7
  58. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +0 -3
  59. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +0 -1
  60. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +0 -4
  61. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +0 -3
  62. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +0 -1
  63. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +0 -4
  64. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +0 -3
  65. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +0 -1
  66. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +0 -9
  67. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +0 -3
  68. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +0 -1
  69. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +0 -4
  70. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +0 -3
  71. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +0 -1
  72. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +0 -4
  73. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +0 -3
  74. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +0 -1
  75. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +0 -20
  76. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +0 -3
  77. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +0 -1
  78. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +0 -23
  79. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +0 -3
  80. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +0 -1
  81. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +0 -32
  82. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +0 -3
  83. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +0 -1
  84. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +0 -19
  85. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +0 -3
  86. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +0 -1
  87. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +0 -42
  88. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +0 -3
  89. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js.map +0 -1
  90. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +0 -7
  91. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +0 -26
  92. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +0 -1
  93. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +0 -5
  94. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +0 -3
  95. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +0 -1
  96. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +0 -20
  97. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +0 -3
  98. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +0 -1
  99. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +0 -26
  100. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +0 -3
  101. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +0 -1
  102. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +0 -8
  103. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +0 -3
  104. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +0 -1
  105. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +0 -10
  106. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +0 -3
  107. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +0 -1
  108. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +0 -21
  109. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +0 -3
  110. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +0 -1
  111. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +0 -24
  112. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +0 -3
  113. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +0 -1
  114. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +0 -12
  115. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +0 -3
  116. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +0 -1
  117. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +0 -8
  118. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +0 -3
  119. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +0 -1
  120. package/dist/source/interfaces/extension_object_constructor.d.ts +0 -10
  121. package/dist/source/interfaces/extension_object_constructor.js +0 -3
  122. package/dist/source/interfaces/extension_object_constructor.js.map +0 -1
  123. package/dist/source/interfaces/nodeset_loader_options.d.ts +0 -4
  124. package/dist/source/interfaces/nodeset_loader_options.js +0 -3
  125. package/dist/source/interfaces/nodeset_loader_options.js.map +0 -1
  126. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +0 -12
  127. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +0 -3
  128. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +0 -1
  129. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +0 -49
  130. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +0 -3
  131. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +0 -1
  132. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +0 -11
  133. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +0 -3
  134. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +0 -1
  135. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +0 -30
  136. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +0 -3
  137. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +0 -1
  138. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +0 -234
  139. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +0 -3
  140. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +0 -1
  141. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +0 -6
  142. package/dist/source/interfaces/state_machine/ua_transition_ex.js +0 -3
  143. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +0 -1
  144. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +0 -8
  145. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +0 -3
  146. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +0 -1
  147. package/dist/source/loader/decode_xml_extension_object.d.ts +0 -6
  148. package/dist/source/loader/decode_xml_extension_object.js +0 -72
  149. package/dist/source/loader/decode_xml_extension_object.js.map +0 -1
  150. package/dist/source/loader/ensure_datatype_extracted.d.ts +0 -5
  151. package/dist/source/loader/ensure_datatype_extracted.js +0 -71
  152. package/dist/source/loader/ensure_datatype_extracted.js.map +0 -1
  153. package/dist/source/loader/generateAddressSpaceRaw.d.ts +0 -11
  154. package/dist/source/loader/generateAddressSpaceRaw.js +0 -46
  155. package/dist/source/loader/generateAddressSpaceRaw.js.map +0 -1
  156. package/dist/source/loader/load_nodeset2.d.ts +0 -17
  157. package/dist/source/loader/load_nodeset2.js +0 -1484
  158. package/dist/source/loader/load_nodeset2.js.map +0 -1
  159. package/dist/source/loader/make_semver_compatible.d.ts +0 -6
  160. package/dist/source/loader/make_semver_compatible.js +0 -26
  161. package/dist/source/loader/make_semver_compatible.js.map +0 -1
  162. package/dist/source/loader/make_xml_extension_object_parser.d.ts +0 -28
  163. package/dist/source/loader/make_xml_extension_object_parser.js +0 -327
  164. package/dist/source/loader/make_xml_extension_object_parser.js.map +0 -1
  165. package/dist/source/loader/namespace_post_step.d.ts +0 -10
  166. package/dist/source/loader/namespace_post_step.js +0 -62
  167. package/dist/source/loader/namespace_post_step.js.map +0 -1
  168. package/dist/source/loader/register_node_promoter.d.ts +0 -2
  169. package/dist/source/loader/register_node_promoter.js +0 -10
  170. package/dist/source/loader/register_node_promoter.js.map +0 -1
  171. package/dist/source/namespace.d.ts +0 -6
  172. package/dist/source/namespace.js +0 -3
  173. package/dist/source/namespace.js.map +0 -1
  174. package/dist/source/namespace_alarm_and_condition.d.ts +0 -32
  175. package/dist/source/namespace_alarm_and_condition.js +0 -3
  176. package/dist/source/namespace_alarm_and_condition.js.map +0 -1
  177. package/dist/source/namespace_data_access.d.ts +0 -42
  178. package/dist/source/namespace_data_access.js +0 -3
  179. package/dist/source/namespace_data_access.js.map +0 -1
  180. package/dist/source/namespace_machine_state.d.ts +0 -8
  181. package/dist/source/namespace_machine_state.js +0 -3
  182. package/dist/source/namespace_machine_state.js.map +0 -1
  183. package/dist/source/pseudo_session.d.ts +0 -72
  184. package/dist/source/pseudo_session.js +0 -255
  185. package/dist/source/pseudo_session.js.map +0 -1
  186. package/dist/source/session_context.d.ts +0 -111
  187. package/dist/source/session_context.js +0 -265
  188. package/dist/source/session_context.js.map +0 -1
  189. package/dist/source/set_namespace_meta_data.d.ts +0 -2
  190. package/dist/source/set_namespace_meta_data.js +0 -60
  191. package/dist/source/set_namespace_meta_data.js.map +0 -1
  192. package/dist/source/ua_root_folder.d.ts +0 -9
  193. package/dist/source/ua_root_folder.js +0 -3
  194. package/dist/source/ua_root_folder.js.map +0 -1
  195. package/dist/source/ua_two_state_variable_ex.d.ts +0 -23
  196. package/dist/source/ua_two_state_variable_ex.js +0 -3
  197. package/dist/source/ua_two_state_variable_ex.js.map +0 -1
  198. package/dist/source/xml_writer.d.ts +0 -18
  199. package/dist/source/xml_writer.js +0 -3
  200. package/dist/source/xml_writer.js.map +0 -1
  201. package/dist/src/address_space.d.ts +0 -387
  202. package/dist/src/address_space.js +0 -1386
  203. package/dist/src/address_space.js.map +0 -1
  204. package/dist/src/address_space_change_event_tools.d.ts +0 -6
  205. package/dist/src/address_space_change_event_tools.js +0 -153
  206. package/dist/src/address_space_change_event_tools.js.map +0 -1
  207. package/dist/src/address_space_private.d.ts +0 -43
  208. package/dist/src/address_space_private.js +0 -3
  209. package/dist/src/address_space_private.js.map +0 -1
  210. package/dist/src/alarms_and_conditions/condition.d.ts +0 -5
  211. package/dist/src/alarms_and_conditions/condition.js +0 -79
  212. package/dist/src/alarms_and_conditions/condition.js.map +0 -1
  213. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +0 -26
  214. package/dist/src/alarms_and_conditions/condition_info_impl.js +0 -55
  215. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +0 -1
  216. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +0 -222
  217. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +0 -658
  218. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +0 -1
  219. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +0 -9
  220. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +0 -61
  221. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +0 -1
  222. package/dist/src/alarms_and_conditions/index.d.ts +0 -16
  223. package/dist/src/alarms_and_conditions/index.js +0 -33
  224. package/dist/src/alarms_and_conditions/index.js.map +0 -1
  225. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +0 -44
  226. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +0 -245
  227. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +0 -1
  228. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +0 -93
  229. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +0 -419
  230. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +0 -1
  231. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +0 -26
  232. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +0 -39
  233. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +0 -1
  234. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +0 -44
  235. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +0 -184
  236. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +0 -1
  237. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +0 -153
  238. package/dist/src/alarms_and_conditions/ua_condition_impl.js +0 -1029
  239. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +0 -1
  240. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +0 -14
  241. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +0 -35
  242. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +0 -1
  243. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +0 -24
  244. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +0 -57
  245. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +0 -1
  246. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +0 -11
  247. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +0 -12
  248. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +0 -1
  249. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +0 -23
  250. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +0 -87
  251. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +0 -1
  252. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +0 -11
  253. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +0 -8
  254. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +0 -1
  255. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +0 -79
  256. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +0 -251
  257. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +0 -1
  258. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +0 -24
  259. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +0 -51
  260. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +0 -1
  261. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +0 -19
  262. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +0 -163
  263. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +0 -1
  264. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +0 -46
  265. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +0 -166
  266. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +0 -1
  267. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +0 -18
  268. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +0 -18
  269. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +0 -1
  270. package/dist/src/apply_condition_refresh.d.ts +0 -6
  271. package/dist/src/apply_condition_refresh.js +0 -28
  272. package/dist/src/apply_condition_refresh.js.map +0 -1
  273. package/dist/src/base_node_impl.d.ts +0 -284
  274. package/dist/src/base_node_impl.js +0 -1455
  275. package/dist/src/base_node_impl.js.map +0 -1
  276. package/dist/src/base_node_private.d.ts +0 -81
  277. package/dist/src/base_node_private.js +0 -804
  278. package/dist/src/base_node_private.js.map +0 -1
  279. package/dist/src/check_value_rank_compatibility.d.ts +0 -15
  280. package/dist/src/check_value_rank_compatibility.js +0 -82
  281. package/dist/src/check_value_rank_compatibility.js.map +0 -1
  282. package/dist/src/data_access/add_dataItem_stuff.d.ts +0 -11
  283. package/dist/src/data_access/add_dataItem_stuff.js +0 -62
  284. package/dist/src/data_access/add_dataItem_stuff.js.map +0 -1
  285. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +0 -1
  286. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +0 -35
  287. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js.map +0 -1
  288. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +0 -32
  289. package/dist/src/data_access/ua_multistate_discrete_impl.js +0 -131
  290. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +0 -1
  291. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +0 -52
  292. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +0 -254
  293. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +0 -1
  294. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +0 -25
  295. package/dist/src/data_access/ua_two_state_discrete_impl.js +0 -156
  296. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +0 -1
  297. package/dist/src/event_data.d.ts +0 -34
  298. package/dist/src/event_data.js +0 -65
  299. package/dist/src/event_data.js.map +0 -1
  300. package/dist/src/extension_object_array_node.d.ts +0 -23
  301. package/dist/src/extension_object_array_node.js +0 -249
  302. package/dist/src/extension_object_array_node.js.map +0 -1
  303. package/dist/src/historical_access/address_space_historical_data_node.d.ts +0 -26
  304. package/dist/src/historical_access/address_space_historical_data_node.js +0 -653
  305. package/dist/src/historical_access/address_space_historical_data_node.js.map +0 -1
  306. package/dist/src/idx_iterator.d.ts +0 -8
  307. package/dist/src/idx_iterator.js +0 -51
  308. package/dist/src/idx_iterator.js.map +0 -1
  309. package/dist/src/index_current.d.ts +0 -46
  310. package/dist/src/index_current.js +0 -78
  311. package/dist/src/index_current.js.map +0 -1
  312. package/dist/src/namespace_impl.d.ts +0 -456
  313. package/dist/src/namespace_impl.js +0 -1763
  314. package/dist/src/namespace_impl.js.map +0 -1
  315. package/dist/src/namespace_private.d.ts +0 -23
  316. package/dist/src/namespace_private.js +0 -33
  317. package/dist/src/namespace_private.js.map +0 -1
  318. package/dist/src/nodeid_manager.d.ts +0 -37
  319. package/dist/src/nodeid_manager.js +0 -184
  320. package/dist/src/nodeid_manager.js.map +0 -1
  321. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +0 -2
  322. package/dist/src/nodeset_tools/adjust_namespace_array.js +0 -14
  323. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +0 -1
  324. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +0 -18
  325. package/dist/src/nodeset_tools/construct_namespace_dependency.js +0 -141
  326. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +0 -1
  327. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +0 -2
  328. package/dist/src/nodeset_tools/dump_to_bsd.js +0 -165
  329. package/dist/src/nodeset_tools/dump_to_bsd.js.map +0 -1
  330. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +0 -10
  331. package/dist/src/nodeset_tools/nodeset_to_xml.js +0 -1288
  332. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +0 -1
  333. package/dist/src/private_namespace.d.ts +0 -5
  334. package/dist/src/private_namespace.js +0 -20
  335. package/dist/src/private_namespace.js.map +0 -1
  336. package/dist/src/reference_impl.d.ts +0 -43
  337. package/dist/src/reference_impl.js +0 -140
  338. package/dist/src/reference_impl.js.map +0 -1
  339. package/dist/src/role_permissions.d.ts +0 -2
  340. package/dist/src/role_permissions.js +0 -11
  341. package/dist/src/role_permissions.js.map +0 -1
  342. package/dist/src/state_machine/finite_state_machine.d.ts +0 -81
  343. package/dist/src/state_machine/finite_state_machine.js +0 -389
  344. package/dist/src/state_machine/finite_state_machine.js.map +0 -1
  345. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +0 -38
  346. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +0 -251
  347. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +0 -1
  348. package/dist/src/state_machine/ua_two_state_variable.d.ts +0 -61
  349. package/dist/src/state_machine/ua_two_state_variable.js +0 -332
  350. package/dist/src/state_machine/ua_two_state_variable.js.map +0 -1
  351. package/dist/src/tool_isSubtypeOf.d.ts +0 -18
  352. package/dist/src/tool_isSubtypeOf.js +0 -125
  353. package/dist/src/tool_isSubtypeOf.js.map +0 -1
  354. package/dist/src/tool_isSupertypeOf.d.ts +0 -18
  355. package/dist/src/tool_isSupertypeOf.js +0 -125
  356. package/dist/src/tool_isSupertypeOf.js.map +0 -1
  357. package/dist/src/ua_condition_type.d.ts +0 -8
  358. package/dist/src/ua_condition_type.js +0 -3
  359. package/dist/src/ua_condition_type.js.map +0 -1
  360. package/dist/src/ua_data_type_impl.d.ts +0 -89
  361. package/dist/src/ua_data_type_impl.js +0 -369
  362. package/dist/src/ua_data_type_impl.js.map +0 -1
  363. package/dist/src/ua_method_impl.d.ts +0 -42
  364. package/dist/src/ua_method_impl.js +0 -218
  365. package/dist/src/ua_method_impl.js.map +0 -1
  366. package/dist/src/ua_object_impl.d.ts +0 -35
  367. package/dist/src/ua_object_impl.js +0 -169
  368. package/dist/src/ua_object_impl.js.map +0 -1
  369. package/dist/src/ua_object_type_impl.d.ts +0 -50
  370. package/dist/src/ua_object_type_impl.js +0 -127
  371. package/dist/src/ua_object_type_impl.js.map +0 -1
  372. package/dist/src/ua_reference_type_impl.d.ts +0 -45
  373. package/dist/src/ua_reference_type_impl.js +0 -142
  374. package/dist/src/ua_reference_type_impl.js.map +0 -1
  375. package/dist/src/ua_variable_impl.d.ts +0 -380
  376. package/dist/src/ua_variable_impl.js +0 -1739
  377. package/dist/src/ua_variable_impl.js.map +0 -1
  378. package/dist/src/ua_variable_impl_ext_obj.d.ts +0 -23
  379. package/dist/src/ua_variable_impl_ext_obj.js +0 -671
  380. package/dist/src/ua_variable_impl_ext_obj.js.map +0 -1
  381. package/dist/src/ua_variable_type_impl.d.ts +0 -74
  382. package/dist/src/ua_variable_type_impl.js +0 -582
  383. package/dist/src/ua_variable_type_impl.js.map +0 -1
  384. package/dist/src/ua_view_impl.d.ts +0 -19
  385. package/dist/src/ua_view_impl.js +0 -44
  386. package/dist/src/ua_view_impl.js.map +0 -1
  387. package/distHelpers/add_event_generator_object.d.ts +0 -3
  388. package/distHelpers/add_event_generator_object.js +0 -65
  389. package/distHelpers/add_event_generator_object.js.map +0 -1
  390. package/distHelpers/alarms_and_conditions_demo.d.ts +0 -9
  391. package/distHelpers/alarms_and_conditions_demo.js +0 -116
  392. package/distHelpers/alarms_and_conditions_demo.js.map +0 -1
  393. package/distHelpers/assertHasMatchingReference.d.ts +0 -19
  394. package/distHelpers/assertHasMatchingReference.js +0 -41
  395. package/distHelpers/assertHasMatchingReference.js.map +0 -1
  396. package/distHelpers/boiler_system.d.ts +0 -113
  397. package/distHelpers/boiler_system.js +0 -396
  398. package/distHelpers/boiler_system.js.map +0 -1
  399. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +0 -5
  400. package/distHelpers/create_minimalist_address_space_nodeset.js +0 -172
  401. package/distHelpers/create_minimalist_address_space_nodeset.js.map +0 -1
  402. package/distHelpers/date_utils.d.ts +0 -3
  403. package/distHelpers/date_utils.js +0 -10
  404. package/distHelpers/date_utils.js.map +0 -1
  405. package/distHelpers/dump_statemachine.d.ts +0 -0
  406. package/distHelpers/dump_statemachine.js +0 -128
  407. package/distHelpers/dump_statemachine.js.map +0 -1
  408. package/distHelpers/get_address_space_fixture.d.ts +0 -1
  409. package/distHelpers/get_address_space_fixture.js +0 -31
  410. package/distHelpers/get_address_space_fixture.js.map +0 -1
  411. package/distHelpers/get_mini_address_space.d.ts +0 -7
  412. package/distHelpers/get_mini_address_space.js +0 -37
  413. package/distHelpers/get_mini_address_space.js.map +0 -1
  414. package/distHelpers/index.d.ts +0 -12
  415. package/distHelpers/index.js +0 -29
  416. package/distHelpers/index.js.map +0 -1
  417. package/distHelpers/mock_session.d.ts +0 -10
  418. package/distHelpers/mock_session.js +0 -26
  419. package/distHelpers/mock_session.js.map +0 -1
  420. package/distNodeJS/generate_address_space.d.ts +0 -6
  421. package/distNodeJS/generate_address_space.js +0 -53
  422. package/distNodeJS/generate_address_space.js.map +0 -1
  423. package/distNodeJS/index.d.ts +0 -1
  424. package/distNodeJS/index.js +0 -18
  425. package/distNodeJS/index.js.map +0 -1
  426. package/source/helpers/dump_tools.ts +0 -92
  427. package/src/nodeset_tools/dump_to_bsd.ts +0 -198
  428. package/test_helpers/dump_statemachine.ts +0 -155
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-address-space",
3
- "version": "2.97.0",
3
+ "version": "2.98.0",
4
4
  "description": "pure nodejs OPCUA SDK - module -address-space",
5
5
  "main": "./dist/src/index_current.js",
6
6
  "types": "./dist/source/index.d.ts",
@@ -16,42 +16,42 @@
16
16
  "c": "mocha --version"
17
17
  },
18
18
  "dependencies": {
19
- "@types/lodash": "4.14.191",
19
+ "@types/lodash": "4.14.192",
20
20
  "@types/semver": "^7.3.13",
21
21
  "async": "^3.2.4",
22
22
  "chalk": "4.1.2",
23
23
  "dequeue": "^1.0.5",
24
24
  "lodash": "4.17.21",
25
- "node-opcua-address-space-base": "2.97.0",
25
+ "node-opcua-address-space-base": "2.98.0",
26
26
  "node-opcua-assert": "2.88.0",
27
- "node-opcua-basic-types": "2.97.0",
28
- "node-opcua-binary-stream": "2.90.1",
29
- "node-opcua-client-dynamic-extension-object": "2.97.0",
27
+ "node-opcua-basic-types": "2.98.0",
28
+ "node-opcua-binary-stream": "2.98.0",
29
+ "node-opcua-client-dynamic-extension-object": "2.98.0",
30
30
  "node-opcua-constants": "2.88.0",
31
31
  "node-opcua-crypto": "^2.1.2",
32
- "node-opcua-data-access": "2.97.0",
33
- "node-opcua-data-model": "2.97.0",
34
- "node-opcua-data-value": "2.97.0",
35
- "node-opcua-date-time": "2.90.1",
36
- "node-opcua-debug": "2.90.1",
37
- "node-opcua-enum": "2.90.1",
38
- "node-opcua-extension-object": "2.97.0",
39
- "node-opcua-factory": "2.97.0",
40
- "node-opcua-nodeid": "2.97.0",
41
- "node-opcua-nodeset-ua": "2.97.0",
42
- "node-opcua-numeric-range": "2.97.0",
43
- "node-opcua-object-registry": "2.90.1",
44
- "node-opcua-pseudo-session": "2.97.0",
45
- "node-opcua-service-browse": "2.97.0",
46
- "node-opcua-service-call": "2.97.0",
47
- "node-opcua-service-history": "2.97.0",
48
- "node-opcua-service-translate-browse-path": "2.97.0",
49
- "node-opcua-service-write": "2.97.0",
50
- "node-opcua-status-code": "2.90.1",
51
- "node-opcua-types": "2.97.0",
52
- "node-opcua-utils": "2.90.1",
53
- "node-opcua-variant": "2.97.0",
54
- "node-opcua-xml2json": "2.96.0",
32
+ "node-opcua-data-access": "2.98.0",
33
+ "node-opcua-data-model": "2.98.0",
34
+ "node-opcua-data-value": "2.98.0",
35
+ "node-opcua-date-time": "2.98.0",
36
+ "node-opcua-debug": "2.98.0",
37
+ "node-opcua-enum": "2.98.0",
38
+ "node-opcua-extension-object": "2.98.0",
39
+ "node-opcua-factory": "2.98.0",
40
+ "node-opcua-nodeid": "2.98.0",
41
+ "node-opcua-nodeset-ua": "2.98.0",
42
+ "node-opcua-numeric-range": "2.98.0",
43
+ "node-opcua-object-registry": "2.98.0",
44
+ "node-opcua-pseudo-session": "2.98.0",
45
+ "node-opcua-service-browse": "2.98.0",
46
+ "node-opcua-service-call": "2.98.0",
47
+ "node-opcua-service-history": "2.98.0",
48
+ "node-opcua-service-translate-browse-path": "2.98.0",
49
+ "node-opcua-service-write": "2.98.0",
50
+ "node-opcua-status-code": "2.98.0",
51
+ "node-opcua-types": "2.98.0",
52
+ "node-opcua-utils": "2.98.0",
53
+ "node-opcua-variant": "2.98.0",
54
+ "node-opcua-xml2json": "2.98.0",
55
55
  "semver": "^7.3.8",
56
56
  "set-prototype-of": "^1.0.0",
57
57
  "thenify": "^3.3.1",
@@ -59,14 +59,14 @@
59
59
  },
60
60
  "devDependencies": {
61
61
  "mocha": "^10.2.0",
62
- "node-opcua-benchmarker": "2.90.1",
63
- "node-opcua-leak-detector": "2.90.1",
64
- "node-opcua-nodesets": "2.96.0",
65
- "node-opcua-packet-analyzer": "2.97.0",
66
- "node-opcua-service-filter": "2.97.0",
67
- "node-opcua-test-fixtures": "2.97.0",
62
+ "node-opcua-benchmarker": "2.98.0",
63
+ "node-opcua-leak-detector": "2.98.0",
64
+ "node-opcua-nodesets": "2.98.0",
65
+ "node-opcua-packet-analyzer": "2.98.0",
66
+ "node-opcua-service-filter": "2.98.0",
67
+ "node-opcua-test-fixtures": "2.98.0",
68
68
  "should": "^13.2.3",
69
- "sinon": "^15.0.1",
69
+ "sinon": "^15.0.3",
70
70
  "source-map-support": "^0.5.21"
71
71
  },
72
72
  "author": "Etienne Rossignon",
@@ -84,5 +84,5 @@
84
84
  "internet of things"
85
85
  ],
86
86
  "homepage": "http://node-opcua.github.io/",
87
- "gitHead": "19c96bda0810d2dec73dd1c2427546be40908646"
87
+ "gitHead": "07dcdd8e8c7f2b55544c6e23023093e35674829c"
88
88
  }
@@ -1,4 +1,4 @@
1
- import { BaseNode, UAObject, UAVariable } from "node-opcua-address-space-base";
1
+ import { BaseNode, UAObject, UAProperty, UAVariable } from "node-opcua-address-space-base";
2
2
  import { LocalizedText } from "node-opcua-data-model";
3
3
  import { NodeId } from "node-opcua-nodeid";
4
4
  import { UACondition_Base } from "node-opcua-nodeset-ua";
@@ -7,6 +7,7 @@ import { TimeZoneDataType } from "node-opcua-types";
7
7
  import { UATwoStateVariableEx } from "../../ua_two_state_variable_ex";
8
8
  import { ConditionInfoOptions } from "./condition_info_i";
9
9
  import { ConditionSnapshot } from "./condition_snapshot";
10
+ import { DataType } from "node-opcua-basic-types";
10
11
 
11
12
 
12
13
 
@@ -48,8 +49,8 @@ export interface UAConditionEx extends UAObject, UACondition_Base, UAConditionHe
48
49
  enabledState: UATwoStateVariableEx;
49
50
  on(eventName: string, eventHandler: any): this;
50
51
  //
51
- // conditionClassId: UAProperty<NodeId, /*c*/DataType.NodeId>;
52
- // conditionClassName: UAProperty<LocalizedText, /*c*/DataType.LocalizedText>;
52
+ conditionClassId: UAProperty<NodeId, /*c*/DataType.NodeId>;
53
+ conditionClassName: UAProperty<LocalizedText, /*c*/DataType.LocalizedText>;
53
54
  // conditionSubClassId?: UAProperty<NodeId, /*c*/DataType.NodeId>;
54
55
  // conditionSubClassName?: UAProperty<LocalizedText, /*c*/DataType.LocalizedText>;
55
56
  // conditionName: UAProperty<UAString, /*c*/DataType.String>;
@@ -31,7 +31,8 @@ import {
31
31
  UAEventType,
32
32
  BaseNode,
33
33
  UAObject,
34
- InstantiateObjectOptions
34
+ InstantiateObjectOptions,
35
+ UAProperty
35
36
  } from "node-opcua-address-space-base";
36
37
  import { UAConditionVariable } from "node-opcua-nodeset-ua";
37
38
 
@@ -48,7 +49,6 @@ import { UAConditionType } from "../ua_condition_type";
48
49
  import { UABaseEventImpl } from "./ua_base_event_impl";
49
50
  import { ConditionSnapshotImpl } from "./condition_snapshot_impl";
50
51
 
51
-
52
52
  const debugLog = make_debugLog(__filename);
53
53
  const errorLog = make_errorLog(__filename);
54
54
  const doDebug = checkDebugFlag(__filename);
@@ -56,6 +56,8 @@ const warningLog = make_warningLog(__filename);
56
56
 
57
57
  export declare interface UAConditionImpl extends UAConditionEx, UABaseEventImpl {
58
58
  on(eventName: string, eventHandler: any): this;
59
+ conditionClassId: UAProperty<NodeId, /*c*/ DataType.NodeId>;
60
+ conditionClassName: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
59
61
  }
60
62
  /**
61
63
  *
@@ -452,7 +454,11 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
452
454
  }
453
455
  }
454
456
  } else {
455
- warningLog("Condition ", this.nodeId.toString(), "is not linked to a Object with a IsConditionOf(reversed(HasCondition))");
457
+ warningLog(
458
+ "Condition ",
459
+ this.nodeId.toString(),
460
+ "is not linked to a Object with a IsConditionOf(reversed(HasCondition))"
461
+ );
456
462
  }
457
463
  // xx console.log("MMMMMMMM%%%%%%%%%%%%%%%%%%%%% branch " +
458
464
  // branch.getBranchId().toString() + " eventId = " + branch.getEventId().toString("hex"));
@@ -647,7 +653,6 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
647
653
  }
648
654
  }
649
655
 
650
-
651
656
  /**
652
657
  * instantiate a Condition.
653
658
  * this will create the unique EventId and will set eventType
@@ -1126,11 +1131,11 @@ function _add_comment_method(
1126
1131
  callback: CallbackT<CallMethodResultOptions>
1127
1132
  ) {
1128
1133
  //
1129
- // The AddComment Method is used to apply a comment to a specific state of a Condition
1130
- // instance. Normally, the NodeId of the Object instance is passed as the ObjectId to the Call
1131
- // Service. However, some Servers do not expose Condition instances in the AddressSpace.
1132
- // Therefore, all Servers shall also allow Clients to call the AddComment Method by specifying
1133
- // ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the
1134
+ // The AddComment Method is used to apply a comment to a specific state of a Condition
1135
+ // instance. Normally, the NodeId of the Object instance is passed as the ObjectId to the Call
1136
+ // Service. However, some Servers do not expose Condition instances in the AddressSpace.
1137
+ // Therefore, all Servers shall also allow Clients to call the AddComment Method by specifying
1138
+ // ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the
1134
1139
  // ConditionType Node.
1135
1140
  // Signature
1136
1141
  // - EventId EventId identifying a particular Event Notification where a state was reported for a
@@ -527,8 +527,8 @@ function _clone_children_on_template(
527
527
  return;
528
528
  }
529
529
  // we have found a matching child on the new parent.
530
- // the mission is to enrich this child node with compoents and property that
531
- // exists also in the template
530
+ // the mission is to enrich this child node with components and properties that
531
+ // exist also in the template
532
532
 
533
533
  let typeDefinitionNode: UAVariableType | UAObjectType | null = nodeToCloneTypeDefinition;
534
534
  while (typeDefinitionNode) {
@@ -580,7 +580,18 @@ function _clone_children_on_template(
580
580
  ],
581
581
  copyAlsoModellingRules
582
582
  };
583
- const a = grandChild.clone(options, optionalFilter, extraInfo);
583
+
584
+ const alreadyCloned = extraInfo.getCloned(grandChild);
585
+ if (alreadyCloned) {
586
+ alreadyCloned.addReference({
587
+ referenceType: ref.referenceType,
588
+ isForward: false,
589
+ nodeId: newParentChild.nodeId
590
+ });
591
+ } else {
592
+ const a = grandChild.clone(options, optionalFilter, extraInfo);
593
+ extraInfo.registerClonedObject(a,grandChild);
594
+ }
584
595
  }
585
596
  }
586
597
  }
@@ -664,20 +675,36 @@ function _clone_collection_new(
664
675
  );
665
676
 
666
677
  extraInfo.level += 4;
667
- const clone = node.clone(options, optionalFilter, extraInfo);
668
- extraInfo.level -= 4;
669
- doTrace && traceLog(extraInfo.pad(), "cloning => ", node.browseName.toString(), "nodeId", clone.nodeId.toString());
670
678
 
671
- extraInfo.level++;
672
- _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
673
- extraInfo.level--;
679
+ const alreadyCloned = extraInfo.getCloned(node);
680
+ if (alreadyCloned) {
681
+ alreadyCloned.addReference({
682
+ referenceType: reference.referenceType,
683
+ isForward: false,
684
+ nodeId: newParent.nodeId
685
+ });
686
+ } else {
687
+ const clone = node.clone(options, optionalFilter, extraInfo);
674
688
 
675
- // also clone or instantiate interface members that may be required in the optionals
676
- extraInfo.level++;
677
- _cloneInterface(nodeToClone, newParent, node, optionalFilter, extraInfo, browseNameMap);
678
- extraInfo.level--;
689
+ extraInfo.level -= 4;
690
+ doTrace && traceLog(extraInfo.pad(), "cloning => ", node.browseName.toString(), "nodeId", clone.nodeId.toString());
679
691
 
680
- if (extraInfo) {
692
+ extraInfo.level++;
693
+ _clone_children_on_template(
694
+ nodeToClone,
695
+ newParent,
696
+ node,
697
+ copyAlsoModellingRules,
698
+ optionalFilter,
699
+ extraInfo,
700
+ browseNameMap
701
+ );
702
+ extraInfo.level--;
703
+
704
+ // also clone or instantiate interface members that may be required in the optionals
705
+ extraInfo.level++;
706
+ _cloneInterface(nodeToClone, newParent, node, optionalFilter, extraInfo, browseNameMap);
707
+ extraInfo.level--;
681
708
  extraInfo.registerClonedObject(node, clone);
682
709
  }
683
710
  }
@@ -787,7 +814,7 @@ function _crap_extractInterfaces(typeDefinitionNode: UAObjectType | UAVariableTy
787
814
  const addressSpace = typeDefinitionNode.addressSpace;
788
815
  // example:
789
816
  // FolderType
790
- // FunctionalGroupType
817
+ // (di):FunctionalGroupType
791
818
  // MachineryItemIdentificationType : IMachineryItemVendorNameplateType
792
819
  // MachineIdentificationType : IMachineTagNameplateType, IMachineVendorNamePlateType
793
820
  // MachineToolIdentificationType
@@ -852,7 +879,21 @@ function _cloneInterface(
852
879
  _clone_collection_new(nodeToClone, node, aggregates, false, localFilter, extraInfo, browseNameMap);
853
880
  }
854
881
  }
855
- export function _clone_children_references(
882
+
883
+ function __clone_organizes_references(
884
+ node: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
885
+ newParent: UAObject | UAVariable | UAMethod,
886
+ copyAlsoModellingRules: boolean,
887
+ optionalFilter: CloneFilter,
888
+ extraInfo: CloneExtraInfo,
889
+ browseNameMap: Set<string>
890
+ ): void {
891
+ // find all references that derives from the Organizes
892
+ const organizedRef = node.findReferencesEx("Organizes", BrowseDirection.Forward);
893
+ _clone_collection_new(node, newParent, organizedRef, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
894
+ }
895
+
896
+ function __clone_children_references(
856
897
  node: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
857
898
  newParent: UAObject | UAVariable | UAMethod,
858
899
  copyAlsoModellingRules: boolean,
@@ -860,11 +901,22 @@ export function _clone_children_references(
860
901
  extraInfo: CloneExtraInfo,
861
902
  browseNameMap: Set<string>
862
903
  ): void {
863
- // find all reference that derives from the Aggregates
904
+ // find all references that derives from the Aggregates
864
905
  const aggregatesRef = node.findReferencesEx("Aggregates", BrowseDirection.Forward);
865
906
  _clone_collection_new(node, newParent, aggregatesRef, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
866
907
  }
867
908
 
909
+ export function _clone_hierarchical_references(
910
+ node: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
911
+ newParent: UAObject | UAVariable | UAMethod,
912
+ copyAlsoModellingRules: boolean,
913
+ optionalFilter: CloneFilter,
914
+ extraInfo: CloneExtraInfo,
915
+ browseNameMap: Set<string>
916
+ ) {
917
+ __clone_children_references(node, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
918
+ __clone_organizes_references(node, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
919
+ }
868
920
  export function _clone_non_hierarchical_references(
869
921
  nodeToClone: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
870
922
  newParent: BaseNode,
@@ -900,7 +952,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
900
952
  !extraInfo || (extraInfo !== null && typeof extraInfo === "object" && typeof extraInfo.registerClonedObject === "function")
901
953
  );
902
954
  assert(!(this as any).subtypeOf, "We do not do cloning of Type yet");
903
-
955
+ assert(!extraInfo.getCloned(this), "object has already been cloned");
904
956
  const namespace = options.namespace;
905
957
  const constructorOptions: any = {
906
958
  ...options,
@@ -955,7 +1007,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
955
1007
  const newFilter = optionalFilter.filterFor(cloneObj);
956
1008
 
957
1009
  const browseNameMap = new Set<string>();
958
- _clone_children_references(this, cloneObj, options.copyAlsoModellingRules, newFilter!, extraInfo, browseNameMap);
1010
+ _clone_hierarchical_references(this, cloneObj, options.copyAlsoModellingRules, newFilter!, extraInfo, browseNameMap);
959
1011
 
960
1012
  if (this.nodeClass === NodeClass.Object || this.nodeClass === NodeClass.Variable) {
961
1013
  let typeDefinitionNode: UAVariableType | UAObjectType | null = this.typeDefinitionObj;
@@ -965,7 +1017,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
965
1017
  extraInfo?.pad(),
966
1018
  chalk.blueBright("---------------------- Exploring ", typeDefinitionNode.browseName.toString())
967
1019
  );
968
- _clone_children_references(
1020
+ _clone_hierarchical_references(
969
1021
  typeDefinitionNode,
970
1022
  cloneObj,
971
1023
  options.copyAlsoModellingRules,
@@ -976,14 +1028,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
976
1028
  typeDefinitionNode = typeDefinitionNode.subtypeOfObj;
977
1029
  }
978
1030
  }
979
- _clone_non_hierarchical_references(
980
- this,
981
- cloneObj,
982
- options.copyAlsoModellingRules,
983
- newFilter,
984
- extraInfo,
985
- browseNameMap
986
- );
1031
+ _clone_non_hierarchical_references(this, cloneObj, options.copyAlsoModellingRules, newFilter, extraInfo, browseNameMap);
987
1032
  }
988
1033
  cloneObj.propagate_back_references();
989
1034
  cloneObj.install_extra_properties();
@@ -36,7 +36,7 @@ import { makeOptionalsMap, OptionalMap } from "../source/helpers/make_optionals_
36
36
 
37
37
  import { AddressSpacePrivate } from "./address_space_private";
38
38
  import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
39
- import { _clone_children_references, ToStringBuilder, UAVariableType_toString } from "./base_node_private";
39
+ import { _clone_hierarchical_references, ToStringBuilder, UAVariableType_toString } from "./base_node_private";
40
40
  import * as tools from "./tool_isSubtypeOf";
41
41
  import { get_subtypeOfObj } from "./tool_isSubtypeOf";
42
42
  import { get_subtypeOf } from "./tool_isSubtypeOf";
@@ -51,7 +51,6 @@ const errorLog = make_errorLog(__filename);
51
51
  let doTrace = checkDebugFlag("INSTANTIATE");
52
52
  const traceLog = errorLog;
53
53
 
54
-
55
54
  interface InstantiateS {
56
55
  propertyOf?: any;
57
56
  componentOf?: any;
@@ -104,7 +103,7 @@ export interface UAVariableTypeOptions extends InternalBaseNodeOptions {
104
103
  dataType: NodeIdLike;
105
104
  }
106
105
 
107
- function deprecate<T>(func: T):T {
106
+ function deprecate<T>(func: T): T {
108
107
  return func;
109
108
  }
110
109
  export class UAVariableTypeImpl extends BaseNodeImpl implements UAVariableType {
@@ -120,8 +119,8 @@ export class UAVariableTypeImpl extends BaseNodeImpl implements UAVariableType {
120
119
 
121
120
  public isSubtypeOf = tools.construct_isSubtypeOf<UAVariableType>(UAVariableTypeImpl);
122
121
 
123
- /** @deprecated - use isSubtypeOf instead */
124
- public isSupertypeOf = deprecate(tools.construct_isSubtypeOf<UAVariableType>(UAVariableTypeImpl));
122
+ /** @deprecated - use isSubtypeOf instead */
123
+ public isSupertypeOf = deprecate(tools.construct_isSubtypeOf<UAVariableType>(UAVariableTypeImpl));
125
124
 
126
125
  public readonly isAbstract: boolean;
127
126
  public dataType: NodeId;
@@ -492,6 +491,13 @@ class CloneHelper {
492
491
  }
493
492
  // find subTypeOf
494
493
  }
494
+ public getCloned(original: UAVariableType | UAObjectType): UAObject | UAVariable | UAMethod | null {
495
+ const info = this.mapOrgToClone.get(original.nodeId.toString());
496
+ if (info) {
497
+ return info.cloned;
498
+ }
499
+ return null;
500
+ }
495
501
  }
496
502
  // install properties and components on a instantiated Object
497
503
  //
@@ -508,12 +514,13 @@ function _initialize_properties_and_components<B extends UAObject | UAVariable |
508
514
  typeDefinitionNode: T,
509
515
  copyAlsoModellingRules: boolean,
510
516
  optionalsMap: OptionalMap,
511
- extraInfo: CloneHelper
517
+ extraInfo: CloneHelper,
518
+ browseNameMap: Set<string>
512
519
  ) {
513
520
  if (doDebug) {
514
521
  debugLog("instance browseName =", instance.browseName.toString());
515
- debugLog("typeNode =", typeDefinitionNode.browseName.toString());
516
- debugLog("optionalsMap =", Object.keys(optionalsMap).join(" "));
522
+ debugLog("typeNode =", typeDefinitionNode.browseName.toString());
523
+ debugLog("optionalsMap =", Object.keys(optionalsMap).join(" "));
517
524
 
518
525
  const c = typeDefinitionNode.findReferencesEx("Aggregates");
519
526
  debugLog("typeDefinition aggregates =", c.map((x) => x.node!.browseName.toString()).join(" "));
@@ -532,9 +539,8 @@ function _initialize_properties_and_components<B extends UAObject | UAVariable |
532
539
  typeDefinitionNode.browseName.toString()
533
540
  );
534
541
 
535
- const browseNameMap = new Set<string>();
536
-
537
- _clone_children_references(typeDefinitionNode, instance, copyAlsoModellingRules, filter, extraInfo, browseNameMap);
542
+
543
+ _clone_hierarchical_references(typeDefinitionNode, instance, copyAlsoModellingRules, filter, extraInfo, browseNameMap);
538
544
 
539
545
  // now apply recursion on baseTypeDefinition to get properties and components from base class
540
546
 
@@ -561,7 +567,8 @@ function _initialize_properties_and_components<B extends UAObject | UAVariable |
561
567
  baseTypeDefinition,
562
568
  copyAlsoModellingRules,
563
569
  optionalsMap,
564
- extraInfo
570
+ extraInfo,
571
+ browseNameMap
565
572
  );
566
573
  extraInfo.level--;
567
574
  }
@@ -616,9 +623,9 @@ export function assertUnusedChildBrowseName(addressSpace: AddressSpacePrivate, o
616
623
  if (parent && hasChildWithBrowseName(parent, coerceQualifiedName(options.browseName))) {
617
624
  throw new Error(
618
625
  "object " +
619
- parent.browseName.name!.toString() +
620
- " have already a child with browseName " +
621
- options.browseName.toString()
626
+ parent.browseName.name!.toString() +
627
+ " have already a child with browseName " +
628
+ options.browseName.toString()
622
629
  );
623
630
  }
624
631
  }
@@ -773,14 +780,23 @@ function reconstructFunctionalGroupType(extraInfo: any) {
773
780
  if (!info) continue;
774
781
 
775
782
  const folder = info.original;
783
+ if (folder.nodeClass !== NodeClass.Object) continue;
784
+
785
+ if (!folder.typeDefinitionObj) continue;
776
786
 
777
787
  assert(folder.typeDefinitionObj.browseName.name.toString() === "FunctionalGroupType");
778
788
 
779
789
  // now create the same reference with the instantiated function group
780
- const destFolder = info.cloned;
790
+ const destFolder = info.cloned as BaseNode;
781
791
 
782
792
  assert(ref.referenceType);
783
793
 
794
+ // may be we should check that the referenceType is a subtype of Organizes
795
+ const alreadyExist = destFolder.findReferences(ref.referenceType, !ref.isForward).find((r) => r.nodeId === cloned.nodeId);
796
+ if (alreadyExist) {
797
+ continue;
798
+ }
799
+
784
800
  destFolder.addReference({
785
801
  isForward: !ref.isForward,
786
802
  nodeId: cloned.nodeId,
@@ -800,7 +816,9 @@ export function initialize_properties_and_components<
800
816
 
801
817
  const optionalsMap = makeOptionalsMap(optionals);
802
818
 
803
- _initialize_properties_and_components(instance, topMostType, nodeType, copyAlsoModellingRules, optionalsMap, extraInfo);
819
+ const browseNameMap = new Set<string>();
820
+
821
+ _initialize_properties_and_components(instance, topMostType, nodeType, copyAlsoModellingRules, optionalsMap, extraInfo, browseNameMap);
804
822
 
805
823
  reconstructFunctionalGroupType(extraInfo);
806
824
 
@@ -1,118 +0,0 @@
1
- /**
2
- * @module node-opcua-address-space
3
- */
4
- import { Int64, UAString, UInt32 } from "node-opcua-basic-types";
5
- import { AttributeIds, LocalizedText, LocalizedTextLike } from "node-opcua-data-model";
6
- import { DataValue } from "node-opcua-data-value";
7
- import { ExtensionObject } from "node-opcua-extension-object";
8
- import { NodeId, NodeIdLike } from "node-opcua-nodeid";
9
- import { ReadRawModifiedDetails } from "node-opcua-service-history";
10
- import { DataType } from "node-opcua-variant";
11
- import { BaseNode, IAddressSpace, AddVariableOptionsWithoutValue, BindVariableOptions, UAMethod, UAVariableT, UAReference, AddBaseNodeOptions, VariableStuff, UAVariableType, UAVariable, UAObject, IVariableHistorianOptions, IVariableHistorian, UADynamicVariableArray, UAReferenceType, INamespace } from "node-opcua-address-space-base";
12
- import { UAFolder } from "node-opcua-nodeset-ua";
13
- import { MinimalistAddressSpace } from "../src/reference_impl";
14
- import { Namespace } from "./namespace";
15
- import { UARootFolder } from "./ua_root_folder";
16
- export declare function resolveReferenceType(addressSpace: MinimalistAddressSpace, reference: UAReference): UAReferenceType;
17
- export declare function resolveReferenceNode(addressSpace: MinimalistAddressSpace, reference: UAReference): BaseNode;
18
- export declare function makeAttributeEventName(attributeId: AttributeIds): string;
19
- export interface EnumValueTypeOptionsLike {
20
- value?: Int64 | UInt32;
21
- displayName?: LocalizedTextLike | null;
22
- description?: LocalizedTextLike | null;
23
- }
24
- export interface AddMultiStateValueDiscreteOptions extends AddVariableOptionsWithoutValue {
25
- enumValues: EnumValueTypeOptionsLike[] | {
26
- [key: string]: number;
27
- };
28
- value?: UInt32 | Int64 | BindVariableOptions;
29
- }
30
- export declare enum EUEngineeringUnit {
31
- degree_celsius = 0
32
- }
33
- export interface AddMultiStateDiscreteOptions extends AddBaseNodeOptions, VariableStuff {
34
- enumStrings: string[];
35
- typeDefinition?: string | NodeId | UAVariableType;
36
- postInstantiateFunc?: (node: UAVariable) => void;
37
- value?: number | BindVariableOptions;
38
- }
39
- export type AddStateVariableOptionals = "EffectiveDisplayName" | "Name" | "Number" | string;
40
- export interface AddStateVariableOptions extends AddVariableOptionsWithoutValue {
41
- id?: any;
42
- optionals?: AddStateVariableOptionals[];
43
- }
44
- export type AddTwoStateVariableOptionals = AddStateVariableOptionals | "TransitionTime" | "EffectiveTransitionTime" | "TrueState" | "FalseState";
45
- export interface AddTwoStateVariableOptions extends AddStateVariableOptions {
46
- falseState?: LocalizedTextLike;
47
- trueState?: LocalizedTextLike;
48
- optionals?: AddTwoStateVariableOptionals[];
49
- isFalseSubStateOf?: NodeId | string | BaseNode;
50
- isTrueSubStateOf?: NodeId | string | BaseNode;
51
- value?: boolean | BindVariableOptions;
52
- }
53
- export interface AddTwoStateDiscreteOptions extends AddVariableOptionsWithoutValue {
54
- falseState?: LocalizedTextLike;
55
- trueState?: LocalizedTextLike;
56
- optionals?: string[];
57
- isFalseSubStateOf?: NodeIdLike | BaseNode;
58
- isTrueSubStateOf?: NodeIdLike | BaseNode;
59
- value?: boolean | BindVariableOptions;
60
- /** @example "" */
61
- definition?: string;
62
- }
63
- export interface RangeVariable extends UAVariable {
64
- low: UAVariableT<number, DataType.Double>;
65
- high: UAVariableT<number, DataType.Double>;
66
- }
67
- export interface XAxisDefinitionVariable extends UAVariable {
68
- engineeringUnits: UAVariableT<UAString, DataType.String>;
69
- title: UAVariableT<LocalizedText, DataType.LocalizedText>;
70
- euRange: RangeVariable;
71
- }
72
- export declare const NamespaceOptions: {
73
- nodeIdNameSeparator: string;
74
- };
75
- export interface UATypesFolder extends UAFolder {
76
- dataTypes: UAFolder;
77
- eventTypes: UAFolder;
78
- objectTypes: UAFolder;
79
- referenceTypes: UAFolder;
80
- variableTypes: UAFolder;
81
- }
82
- export interface AddressSpace extends IAddressSpace {
83
- getOwnNamespace(): Namespace;
84
- registerNamespace(namespaceUri: string): Namespace;
85
- rootFolder: UARootFolder;
86
- }
87
- export declare class AddressSpace {
88
- static historizerFactory: any;
89
- static create(): AddressSpace;
90
- private constructor();
91
- }
92
- export declare class VariableHistorian implements IVariableHistorian {
93
- constructor(node: UAVariable, options: IVariableHistorianOptions);
94
- /**
95
- * push a new value into the history for this variable
96
- * the method should take a very small amount of time and not
97
- * directly write to the underlying database
98
- * @param newDataValue
99
- */
100
- push(newDataValue: DataValue): Promise<void>;
101
- /**
102
- * Extract a series of dataValue from the History database for this value
103
- * @param historyReadRawModifiedDetails
104
- * @param maxNumberToExtract
105
- * @param isReversed
106
- * @param reverseDataValue
107
- * @param callback
108
- */
109
- extractDataValues(historyReadRawModifiedDetails: ReadRawModifiedDetails, maxNumberToExtract: number, isReversed: boolean, reverseDataValue: boolean, callback: (err: Error | null, dataValue?: DataValue[]) => void): void;
110
- }
111
- export type UAClonable = UAObject | UAVariable | UAMethod;
112
- export declare function createExtObjArrayNode<T extends ExtensionObject>(parentFolder: UAObject, options: any): UADynamicVariableArray<T>;
113
- export declare function bindExtObjArrayNode<T extends ExtensionObject>(uaArrayVariableNode: UADynamicVariableArray<T>, variableTypeNodeId: string | NodeId, indexPropertyName: string): UAVariable;
114
- export declare function addElement<T extends ExtensionObject>(options: any, uaArrayVariableNode: UADynamicVariableArray<T>): UAVariable;
115
- export declare function removeElement<T extends ExtensionObject>(uaArrayVariableNode: UADynamicVariableArray<T>, element: number | UAVariable | ((a: T) => boolean)): void;
116
- export declare function dumpXml(node: BaseNode, options: any): string;
117
- export declare function dumpToBSD(namespace: INamespace): string;
118
- export declare function adjustNamespaceArray(addressSpace: IAddressSpace): void;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AddressSpace = exports.EUEngineeringUnit = void 0;
4
- var EUEngineeringUnit;
5
- (function (EUEngineeringUnit) {
6
- EUEngineeringUnit[EUEngineeringUnit["degree_celsius"] = 0] = "degree_celsius";
7
- // to be continued
8
- })(EUEngineeringUnit = exports.EUEngineeringUnit || (exports.EUEngineeringUnit = {}));
9
- class AddressSpace {
10
- static create() {
11
- return new AddressSpace();
12
- }
13
- constructor() {
14
- /* empty */
15
- }
16
- }
17
- exports.AddressSpace = AddressSpace;
18
- //# sourceMappingURL=address_space_ts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"address_space_ts.js","sourceRoot":"","sources":["../../source/address_space_ts.ts"],"names":[],"mappings":";;;AAwDA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,6EAAc,CAAA;IACd,kBAAkB;AACtB,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAoFD,MAAa,YAAY;IAGd,MAAM,CAAC,MAAM;QAChB,OAAO,IAAI,YAAY,EAAkB,CAAC;IAC9C,CAAC;IAED;QACI,WAAW;IACf,CAAC;CACJ;AAVD,oCAUC"}