node-opcua-address-space 2.97.0 → 2.98.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) 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 +91 -91
  4. package/dist/source/continuation_points/continuation_point_manager.js +200 -200
  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 +33 -33
  8. package/dist/source/helpers/argument_list.js +254 -254
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +71 -71
  11. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  12. package/dist/source/helpers/coerce_enum_value.js +33 -33
  13. package/dist/source/helpers/dump_tools.d.ts +14 -14
  14. package/dist/source/helpers/dump_tools.js +78 -78
  15. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  16. package/dist/source/helpers/ensure_secure_access.js +76 -76
  17. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  18. package/dist/source/helpers/make_optionals_map.js +29 -29
  19. package/dist/source/helpers/multiform_func.d.ts +11 -11
  20. package/dist/source/helpers/multiform_func.js +75 -75
  21. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  22. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  23. package/dist/source/index.d.ts +61 -61
  24. package/dist/source/index.js +89 -89
  25. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +19 -19
  26. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  27. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +193 -193
  28. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +2 -2
  29. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -12
  30. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +2 -2
  31. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +10 -10
  32. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +2 -2
  33. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -7
  34. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +2 -2
  35. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -7
  36. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +2 -2
  37. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -4
  38. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +2 -2
  39. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -4
  40. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +2 -2
  41. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -9
  42. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +2 -2
  43. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -4
  44. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +2 -2
  45. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -4
  46. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +2 -2
  47. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -20
  48. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +2 -2
  49. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -23
  50. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +2 -2
  51. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -32
  52. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +2 -2
  53. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -19
  54. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +2 -2
  55. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +45 -42
  56. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +2 -2
  57. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -7
  58. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +25 -25
  59. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -5
  60. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +2 -2
  61. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -20
  62. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +2 -2
  63. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -26
  64. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +2 -2
  65. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -8
  66. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +2 -2
  67. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -10
  68. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +2 -2
  69. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  70. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  71. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  72. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  73. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  74. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  75. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  76. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  77. package/dist/source/interfaces/extension_object_constructor.d.ts +10 -10
  78. package/dist/source/interfaces/extension_object_constructor.js +2 -2
  79. package/dist/source/interfaces/nodeset_loader_options.d.ts +4 -4
  80. package/dist/source/interfaces/nodeset_loader_options.js +2 -2
  81. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  82. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  83. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  84. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  85. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  86. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  87. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -30
  88. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +2 -2
  89. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +234 -234
  90. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  91. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  92. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  93. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  94. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  95. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  96. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  97. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  98. package/dist/source/loader/ensure_datatype_extracted.js +70 -70
  99. package/dist/source/loader/generateAddressSpaceRaw.d.ts +11 -11
  100. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  101. package/dist/source/loader/load_nodeset2.d.ts +17 -17
  102. package/dist/source/loader/load_nodeset2.js +1483 -1483
  103. package/dist/source/loader/make_semver_compatible.d.ts +6 -6
  104. package/dist/source/loader/make_semver_compatible.js +25 -25
  105. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  106. package/dist/source/loader/make_xml_extension_object_parser.js +326 -326
  107. package/dist/source/loader/namespace_post_step.d.ts +10 -10
  108. package/dist/source/loader/namespace_post_step.js +61 -61
  109. package/dist/source/loader/register_node_promoter.d.ts +2 -2
  110. package/dist/source/loader/register_node_promoter.js +9 -9
  111. package/dist/source/namespace.d.ts +6 -6
  112. package/dist/source/namespace.js +2 -2
  113. package/dist/source/namespace_alarm_and_condition.d.ts +32 -32
  114. package/dist/source/namespace_alarm_and_condition.js +2 -2
  115. package/dist/source/namespace_data_access.d.ts +42 -42
  116. package/dist/source/namespace_data_access.js +2 -2
  117. package/dist/source/namespace_machine_state.d.ts +8 -8
  118. package/dist/source/namespace_machine_state.js +2 -2
  119. package/dist/source/pseudo_session.d.ts +72 -72
  120. package/dist/source/pseudo_session.js +254 -254
  121. package/dist/source/session_context.d.ts +111 -111
  122. package/dist/source/session_context.js +264 -264
  123. package/dist/source/session_context.js.map +1 -1
  124. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  125. package/dist/source/set_namespace_meta_data.js +59 -59
  126. package/dist/source/ua_root_folder.d.ts +9 -9
  127. package/dist/source/ua_root_folder.js +2 -2
  128. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  129. package/dist/source/ua_two_state_variable_ex.js +2 -2
  130. package/dist/source/xml_writer.d.ts +18 -18
  131. package/dist/source/xml_writer.js +2 -2
  132. package/dist/src/address_space.d.ts +387 -387
  133. package/dist/src/address_space.js +1385 -1385
  134. package/dist/src/address_space.js.map +1 -1
  135. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  136. package/dist/src/address_space_change_event_tools.js +152 -152
  137. package/dist/src/address_space_private.d.ts +43 -43
  138. package/dist/src/address_space_private.js +2 -2
  139. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  140. package/dist/src/alarms_and_conditions/condition.js +78 -78
  141. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -26
  142. package/dist/src/alarms_and_conditions/condition_info_impl.js +54 -54
  143. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +222 -222
  144. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +657 -657
  145. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -1
  146. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +9 -9
  147. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +60 -60
  148. package/dist/src/alarms_and_conditions/index.d.ts +16 -16
  149. package/dist/src/alarms_and_conditions/index.js +32 -32
  150. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +44 -44
  151. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  152. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +93 -93
  153. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +418 -418
  154. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  155. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +26 -26
  156. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  157. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +44 -44
  158. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +183 -183
  159. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +155 -153
  160. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1028 -1028
  161. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  162. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +14 -14
  163. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +34 -34
  164. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +24 -24
  165. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  166. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -11
  167. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  168. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +23 -23
  169. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  170. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +11 -11
  171. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  172. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +79 -79
  173. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  174. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +24 -24
  175. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  176. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +19 -19
  177. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  178. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +46 -46
  179. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +165 -165
  180. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -18
  181. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  182. package/dist/src/apply_condition_refresh.d.ts +6 -6
  183. package/dist/src/apply_condition_refresh.js +27 -27
  184. package/dist/src/base_node_impl.d.ts +284 -284
  185. package/dist/src/base_node_impl.js +1454 -1454
  186. package/dist/src/base_node_private.d.ts +81 -81
  187. package/dist/src/base_node_private.js +832 -803
  188. package/dist/src/base_node_private.js.map +1 -1
  189. package/dist/src/check_value_rank_compatibility.d.ts +15 -15
  190. package/dist/src/check_value_rank_compatibility.js +81 -81
  191. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  192. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  193. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  194. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  195. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  196. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  197. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +52 -52
  198. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +253 -253
  199. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -25
  200. package/dist/src/data_access/ua_two_state_discrete_impl.js +155 -155
  201. package/dist/src/event_data.d.ts +34 -34
  202. package/dist/src/event_data.js +64 -64
  203. package/dist/src/extension_object_array_node.d.ts +23 -23
  204. package/dist/src/extension_object_array_node.js +248 -248
  205. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  206. package/dist/src/historical_access/address_space_historical_data_node.js +652 -652
  207. package/dist/src/idx_iterator.d.ts +8 -8
  208. package/dist/src/idx_iterator.js +50 -50
  209. package/dist/src/index_current.d.ts +46 -46
  210. package/dist/src/index_current.js +77 -77
  211. package/dist/src/namespace_impl.d.ts +456 -456
  212. package/dist/src/namespace_impl.js +1762 -1762
  213. package/dist/src/namespace_impl.js.map +1 -1
  214. package/dist/src/namespace_private.d.ts +23 -23
  215. package/dist/src/namespace_private.js +32 -32
  216. package/dist/src/nodeid_manager.d.ts +37 -37
  217. package/dist/src/nodeid_manager.js +183 -183
  218. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  219. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  220. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +18 -18
  221. package/dist/src/nodeset_tools/construct_namespace_dependency.js +140 -140
  222. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +2 -2
  223. package/dist/src/nodeset_tools/dump_to_bsd.js +164 -164
  224. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +10 -10
  225. package/dist/src/nodeset_tools/nodeset_to_xml.js +1287 -1287
  226. package/dist/src/private_namespace.d.ts +5 -5
  227. package/dist/src/private_namespace.js +19 -19
  228. package/dist/src/reference_impl.d.ts +43 -43
  229. package/dist/src/reference_impl.js +139 -139
  230. package/dist/src/role_permissions.d.ts +2 -2
  231. package/dist/src/role_permissions.js +10 -10
  232. package/dist/src/state_machine/finite_state_machine.d.ts +81 -81
  233. package/dist/src/state_machine/finite_state_machine.js +388 -388
  234. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +38 -38
  235. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  236. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  237. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  238. package/dist/src/tool_isSubtypeOf.d.ts +18 -18
  239. package/dist/src/tool_isSubtypeOf.js +124 -124
  240. package/dist/src/ua_condition_type.d.ts +8 -8
  241. package/dist/src/ua_condition_type.js +2 -2
  242. package/dist/src/ua_data_type_impl.d.ts +89 -89
  243. package/dist/src/ua_data_type_impl.js +368 -368
  244. package/dist/src/ua_method_impl.d.ts +42 -42
  245. package/dist/src/ua_method_impl.js +217 -217
  246. package/dist/src/ua_object_impl.d.ts +35 -35
  247. package/dist/src/ua_object_impl.js +168 -168
  248. package/dist/src/ua_object_type_impl.d.ts +50 -50
  249. package/dist/src/ua_object_type_impl.js +126 -126
  250. package/dist/src/ua_reference_type_impl.d.ts +45 -45
  251. package/dist/src/ua_reference_type_impl.js +141 -141
  252. package/dist/src/ua_variable_impl.d.ts +380 -380
  253. package/dist/src/ua_variable_impl.js +1738 -1738
  254. package/dist/src/ua_variable_impl_ext_obj.d.ts +23 -23
  255. package/dist/src/ua_variable_impl_ext_obj.js +670 -670
  256. package/dist/src/ua_variable_type_impl.d.ts +74 -74
  257. package/dist/src/ua_variable_type_impl.js +597 -581
  258. package/dist/src/ua_variable_type_impl.js.map +1 -1
  259. package/dist/src/ua_view_impl.d.ts +19 -19
  260. package/dist/src/ua_view_impl.js +43 -43
  261. package/dist/tsconfig_common.tsbuildinfo +1 -0
  262. package/distHelpers/add_event_generator_object.d.ts +3 -3
  263. package/distHelpers/add_event_generator_object.js +64 -64
  264. package/distHelpers/alarms_and_conditions_demo.d.ts +9 -9
  265. package/distHelpers/alarms_and_conditions_demo.js +115 -115
  266. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  267. package/distHelpers/assertHasMatchingReference.js +40 -40
  268. package/distHelpers/boiler_system.d.ts +113 -113
  269. package/distHelpers/boiler_system.js +395 -395
  270. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  271. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  272. package/distHelpers/date_utils.d.ts +3 -3
  273. package/distHelpers/date_utils.js +9 -9
  274. package/distHelpers/dump_statemachine.js +127 -127
  275. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  276. package/distHelpers/get_address_space_fixture.js +30 -30
  277. package/distHelpers/get_mini_address_space.d.ts +7 -7
  278. package/distHelpers/get_mini_address_space.js +36 -36
  279. package/distHelpers/index.d.ts +12 -12
  280. package/distHelpers/index.js +28 -28
  281. package/distHelpers/mock_session.d.ts +10 -10
  282. package/distHelpers/mock_session.js +25 -25
  283. package/distNodeJS/generate_address_space.d.ts +6 -6
  284. package/distNodeJS/generate_address_space.js +52 -52
  285. package/distNodeJS/index.d.ts +1 -1
  286. package/distNodeJS/index.js +17 -17
  287. package/package.json +51 -40
  288. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +4 -3
  289. package/src/alarms_and_conditions/ua_condition_impl.ts +14 -9
  290. package/src/base_node_private.ts +73 -28
  291. package/src/ua_variable_type_impl.ts +35 -17
  292. package/.mocharc.yml +0 -12
  293. package/dist/src/tool_isSupertypeOf.d.ts +0 -18
  294. package/dist/src/tool_isSupertypeOf.js +0 -125
  295. package/dist/src/tool_isSupertypeOf.js.map +0 -1
  296. package/generate.js +0 -1
  297. package/source_nodejs/generate_address_space.ts +0 -60
  298. package/source_nodejs/index.ts +0 -1
  299. package/test_helpers/add_event_generator_object.ts +0 -71
  300. package/test_helpers/alarms_and_conditions_demo.ts +0 -151
  301. package/test_helpers/assertHasMatchingReference.ts +0 -43
  302. package/test_helpers/boiler_system.ts +0 -610
  303. package/test_helpers/create_minimalist_address_space_nodeset.ts +0 -208
  304. package/test_helpers/date_utils.ts +0 -5
  305. package/test_helpers/dump_statemachine.ts +0 -155
  306. package/test_helpers/get_address_space_fixture.ts +0 -30
  307. package/test_helpers/get_mini_address_space.ts +0 -42
  308. package/test_helpers/index.ts +0 -12
  309. package/test_helpers/mock_session.ts +0 -34
  310. package/test_helpers/test_fixtures/dataType_in_separateNamespace.xml +0 -150
  311. package/test_helpers/test_fixtures/dataType_in_separateNamespace_basic.xml +0 -57
  312. package/test_helpers/test_fixtures/dataType_in_separateNamespace_mix.xml +0 -136
  313. package/test_helpers/test_fixtures/dataType_issue.xml +0 -80
  314. package/test_helpers/test_fixtures/dataType_withEnumeration.xml +0 -82
  315. package/test_helpers/test_fixtures/dataType_with_isOptionSet.xml +0 -194
  316. package/test_helpers/test_fixtures/dataType_with_qualifiedname.xml +0 -71
  317. package/test_helpers/test_fixtures/dataType_with_recursive_structure.xml +0 -155
  318. package/test_helpers/test_fixtures/dataType_with_structures.xml +0 -605
  319. package/test_helpers/test_fixtures/dataType_with_union.xml +0 -90
  320. package/test_helpers/test_fixtures/datatype_as_per_1.04.xml +0 -118
  321. package/test_helpers/test_fixtures/datatype_with_allow_subtype.xml +0 -104
  322. package/test_helpers/test_fixtures/eurange_issue.xml +0 -74
  323. package/test_helpers/test_fixtures/example_issue1096.xml +0 -267
  324. package/test_helpers/test_fixtures/fixture_empty_nodeset2.xml +0 -106
  325. package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +0 -1305
  326. package/test_helpers/test_fixtures/fixuture_nodeset_objects_with_some_methods.xml +0 -370
  327. package/test_helpers/test_fixtures/issue_1132_variable_with_nodeid_value.xml +0 -68
  328. package/test_helpers/test_fixtures/issue_846.xml +0 -3172
  329. package/test_helpers/test_fixtures/issue_899_variable_with_nodeid_value.xml +0 -33
  330. package/test_helpers/test_fixtures/mini.Node.Set2.xml +0 -4736
  331. package/test_helpers/test_fixtures/mini.nodeset.withVariousVariables.xml +0 -196
  332. package/test_helpers/test_fixtures/minimalist_nodeset_with_models.xml +0 -8
  333. package/test_helpers/test_fixtures/minimalist_nodeset_with_models_more_complex.xml +0 -20
  334. package/test_helpers/test_fixtures/nodeset_no_aliases.xml +0 -30
  335. package/test_helpers/test_fixtures/nodeset_no_aliases_with_aliases.xml +0 -31
  336. package/test_helpers/test_fixtures/nodeset_with_analog_items.xml +0 -45
  337. package/test_helpers/test_fixtures/nodeset_with_guid.xml +0 -1442
  338. package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +0 -31
  339. package/test_helpers/test_fixtures/nodeset_with_special_char.xml +0 -34
  340. package/test_helpers/test_fixtures/nodeset_with_utf8_special_characters.xml +0 -20
  341. package/test_helpers/test_fixtures/variable_with_value.xml +0 -143
  342. package/test_helpers/test_fixtures/variabletype_with_value.xml +0 -324
@@ -1,127 +1,127 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UAObjectTypeImpl = void 0;
4
- /**
5
- * @module node-opcua-address-space
6
- */
7
- const node_opcua_assert_1 = require("node-opcua-assert");
8
- const node_opcua_data_model_1 = require("node-opcua-data-model");
9
- const node_opcua_data_model_2 = require("node-opcua-data-model");
10
- const node_opcua_data_value_1 = require("node-opcua-data-value");
11
- const node_opcua_status_code_1 = require("node-opcua-status-code");
12
- const utils = require("node-opcua-utils");
13
- const node_opcua_variant_1 = require("node-opcua-variant");
14
- const session_context_1 = require("../source/session_context");
15
- const base_node_impl_1 = require("./base_node_impl");
16
- const base_node_private_1 = require("./base_node_private");
17
- const tool_isSubtypeOf_1 = require("./tool_isSubtypeOf");
18
- const tools = require("./tool_isSubtypeOf");
19
- const ua_variable_type_impl_1 = require("./ua_variable_type_impl");
20
- class UAObjectTypeImpl extends base_node_impl_1.BaseNodeImpl {
21
- /**
22
- * returns true if the object has some opcua methods
23
- */
24
- get hasMethods() {
25
- return this.getMethods().length > 0;
26
- }
27
- get subtypeOf() {
28
- return tool_isSubtypeOf_1.get_subtypeOf.call(this);
29
- }
30
- get subtypeOfObj() {
31
- return tool_isSubtypeOf_1.get_subtypeOfObj.call(this);
32
- }
33
- constructor(options) {
34
- super(options);
35
- this.nodeClass = node_opcua_data_model_1.NodeClass.ObjectType;
36
- this.isSubtypeOf = tools.construct_isSubtypeOf(UAObjectTypeImpl);
37
- /** @deprecated - use isSubtypeOf instead */
38
- this.isSupertypeOf = tools.construct_isSubtypeOf(UAObjectTypeImpl);
39
- this.isAbstract = utils.isNullOrUndefined(options.isAbstract) ? false : options.isAbstract;
40
- }
41
- readAttribute(context, attributeId) {
42
- (0, node_opcua_assert_1.assert)(context instanceof session_context_1.SessionContext);
43
- const options = {};
44
- switch (attributeId) {
45
- case node_opcua_data_model_2.AttributeIds.IsAbstract:
46
- options.value = {
47
- dataType: node_opcua_variant_1.DataType.Boolean,
48
- value: !!this.isAbstract
49
- };
50
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
51
- break;
52
- default:
53
- return base_node_impl_1.BaseNodeImpl.prototype.readAttribute.call(this, context, attributeId);
54
- }
55
- return new node_opcua_data_value_1.DataValue(options);
56
- }
57
- /**
58
- * instantiate an object of this UAObjectType
59
- * The instantiation takes care of object type inheritance when constructing inner properties and components.
60
- * @method instantiate
61
- * @param options
62
- * @param options.browseName
63
- * @param [options.description]
64
- * @param [options.organizedBy] the parent Folder holding this object
65
- * @param [options.componentOf] the parent Object holding this object
66
- * @param [options.notifierOf]
67
- * @param [options.eventSourceOf]
68
- * @param [options.optionals = [] name of the optional child to create
69
- * @param [options.modellingRule]
70
- * @param [options.encodingOf]
71
- *
72
- *
73
- * Note : HasComponent usage scope
74
- *
75
- * Source | Destination
76
- * -------------------+---------------------------
77
- * Object | Object, Variable,Method
78
- * ObjectType |
79
- * -------------------+---------------------------
80
- * DataVariable | Variable
81
- * DataVariableType |
82
- */
83
- instantiate(options) {
84
- const addressSpace = this.addressSpace;
85
- (0, node_opcua_assert_1.assert)(!this.isAbstract, "cannot instantiate abstract UAObjectType");
86
- (0, node_opcua_assert_1.assert)(options, "missing option object");
87
- (0, node_opcua_assert_1.assert)(typeof options.browseName === "string" || (options.browseName !== null && typeof options.browseName === "object"), "expecting a browse name");
88
- (0, node_opcua_assert_1.assert)(!Object.prototype.hasOwnProperty.call(options, "propertyOf"), "an Object shall not be a PropertyOf an other object");
89
- (0, node_opcua_assert_1.assert)(!Object.prototype.hasOwnProperty.call(options, "optional"), "do you mean optionals ?");
90
- (0, ua_variable_type_impl_1.assertUnusedChildBrowseName)(addressSpace, options);
91
- const baseObjectType = addressSpace.findObjectType("BaseObjectType");
92
- (0, node_opcua_assert_1.assert)(baseObjectType, "BaseObjectType must be defined in the address space");
93
- const references = [];
94
- const copyAlsoModellingRules = (0, ua_variable_type_impl_1.topMostParentIsObjectTypeOrVariableType)(addressSpace, options);
95
- const opts = {
96
- browseName: options.browseName,
97
- componentOf: options.componentOf,
98
- displayName: options.displayName || "",
99
- description: options.description || this.description,
100
- encodingOf: options.encodingOf,
101
- eventSourceOf: options.eventSourceOf,
102
- notifierOf: options.notifierOf,
103
- organizedBy: options.organizedBy,
104
- references,
105
- typeDefinition: this.nodeId,
106
- nodeId: options.nodeId,
107
- eventNotifier: options.eventNotifier === undefined ? 0 : options.eventNotifier,
108
- modellingRule: options.modellingRule
109
- };
110
- const namespace = options.namespace || this.addressSpace.getOwnNamespace();
111
- const instance = namespace.addObject(opts);
112
- (0, ua_variable_type_impl_1.initialize_properties_and_components)(instance, baseObjectType, this, copyAlsoModellingRules, options.optionals);
113
- (0, node_opcua_assert_1.assert)(instance.typeDefinition.toString() === this.nodeId.toString());
114
- instance.install_extra_properties();
115
- if (this._postInstantiateFunc) {
116
- this._postInstantiateFunc(instance, this, options);
117
- }
118
- return instance;
119
- }
120
- toString() {
121
- const options = new base_node_private_1.ToStringBuilder();
122
- base_node_private_1.UAObjectType_toString.call(this, options);
123
- return options.toString();
124
- }
125
- }
126
- exports.UAObjectTypeImpl = UAObjectTypeImpl;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UAObjectTypeImpl = void 0;
4
+ /**
5
+ * @module node-opcua-address-space
6
+ */
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
9
+ const node_opcua_data_model_2 = require("node-opcua-data-model");
10
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
11
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
12
+ const utils = require("node-opcua-utils");
13
+ const node_opcua_variant_1 = require("node-opcua-variant");
14
+ const session_context_1 = require("../source/session_context");
15
+ const base_node_impl_1 = require("./base_node_impl");
16
+ const base_node_private_1 = require("./base_node_private");
17
+ const tool_isSubtypeOf_1 = require("./tool_isSubtypeOf");
18
+ const tools = require("./tool_isSubtypeOf");
19
+ const ua_variable_type_impl_1 = require("./ua_variable_type_impl");
20
+ class UAObjectTypeImpl extends base_node_impl_1.BaseNodeImpl {
21
+ /**
22
+ * returns true if the object has some opcua methods
23
+ */
24
+ get hasMethods() {
25
+ return this.getMethods().length > 0;
26
+ }
27
+ get subtypeOf() {
28
+ return tool_isSubtypeOf_1.get_subtypeOf.call(this);
29
+ }
30
+ get subtypeOfObj() {
31
+ return tool_isSubtypeOf_1.get_subtypeOfObj.call(this);
32
+ }
33
+ constructor(options) {
34
+ super(options);
35
+ this.nodeClass = node_opcua_data_model_1.NodeClass.ObjectType;
36
+ this.isSubtypeOf = tools.construct_isSubtypeOf(UAObjectTypeImpl);
37
+ /** @deprecated - use isSubtypeOf instead */
38
+ this.isSupertypeOf = tools.construct_isSubtypeOf(UAObjectTypeImpl);
39
+ this.isAbstract = utils.isNullOrUndefined(options.isAbstract) ? false : options.isAbstract;
40
+ }
41
+ readAttribute(context, attributeId) {
42
+ (0, node_opcua_assert_1.assert)(context instanceof session_context_1.SessionContext);
43
+ const options = {};
44
+ switch (attributeId) {
45
+ case node_opcua_data_model_2.AttributeIds.IsAbstract:
46
+ options.value = {
47
+ dataType: node_opcua_variant_1.DataType.Boolean,
48
+ value: !!this.isAbstract
49
+ };
50
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
51
+ break;
52
+ default:
53
+ return base_node_impl_1.BaseNodeImpl.prototype.readAttribute.call(this, context, attributeId);
54
+ }
55
+ return new node_opcua_data_value_1.DataValue(options);
56
+ }
57
+ /**
58
+ * instantiate an object of this UAObjectType
59
+ * The instantiation takes care of object type inheritance when constructing inner properties and components.
60
+ * @method instantiate
61
+ * @param options
62
+ * @param options.browseName
63
+ * @param [options.description]
64
+ * @param [options.organizedBy] the parent Folder holding this object
65
+ * @param [options.componentOf] the parent Object holding this object
66
+ * @param [options.notifierOf]
67
+ * @param [options.eventSourceOf]
68
+ * @param [options.optionals = [] name of the optional child to create
69
+ * @param [options.modellingRule]
70
+ * @param [options.encodingOf]
71
+ *
72
+ *
73
+ * Note : HasComponent usage scope
74
+ *
75
+ * Source | Destination
76
+ * -------------------+---------------------------
77
+ * Object | Object, Variable,Method
78
+ * ObjectType |
79
+ * -------------------+---------------------------
80
+ * DataVariable | Variable
81
+ * DataVariableType |
82
+ */
83
+ instantiate(options) {
84
+ const addressSpace = this.addressSpace;
85
+ (0, node_opcua_assert_1.assert)(!this.isAbstract, "cannot instantiate abstract UAObjectType");
86
+ (0, node_opcua_assert_1.assert)(options, "missing option object");
87
+ (0, node_opcua_assert_1.assert)(typeof options.browseName === "string" || (options.browseName !== null && typeof options.browseName === "object"), "expecting a browse name");
88
+ (0, node_opcua_assert_1.assert)(!Object.prototype.hasOwnProperty.call(options, "propertyOf"), "an Object shall not be a PropertyOf an other object");
89
+ (0, node_opcua_assert_1.assert)(!Object.prototype.hasOwnProperty.call(options, "optional"), "do you mean optionals ?");
90
+ (0, ua_variable_type_impl_1.assertUnusedChildBrowseName)(addressSpace, options);
91
+ const baseObjectType = addressSpace.findObjectType("BaseObjectType");
92
+ (0, node_opcua_assert_1.assert)(baseObjectType, "BaseObjectType must be defined in the address space");
93
+ const references = [];
94
+ const copyAlsoModellingRules = (0, ua_variable_type_impl_1.topMostParentIsObjectTypeOrVariableType)(addressSpace, options);
95
+ const opts = {
96
+ browseName: options.browseName,
97
+ componentOf: options.componentOf,
98
+ displayName: options.displayName || "",
99
+ description: options.description || this.description,
100
+ encodingOf: options.encodingOf,
101
+ eventSourceOf: options.eventSourceOf,
102
+ notifierOf: options.notifierOf,
103
+ organizedBy: options.organizedBy,
104
+ references,
105
+ typeDefinition: this.nodeId,
106
+ nodeId: options.nodeId,
107
+ eventNotifier: options.eventNotifier === undefined ? 0 : options.eventNotifier,
108
+ modellingRule: options.modellingRule
109
+ };
110
+ const namespace = options.namespace || this.addressSpace.getOwnNamespace();
111
+ const instance = namespace.addObject(opts);
112
+ (0, ua_variable_type_impl_1.initialize_properties_and_components)(instance, baseObjectType, this, copyAlsoModellingRules, options.optionals);
113
+ (0, node_opcua_assert_1.assert)(instance.typeDefinition.toString() === this.nodeId.toString());
114
+ instance.install_extra_properties();
115
+ if (this._postInstantiateFunc) {
116
+ this._postInstantiateFunc(instance, this, options);
117
+ }
118
+ return instance;
119
+ }
120
+ toString() {
121
+ const options = new base_node_private_1.ToStringBuilder();
122
+ base_node_private_1.UAObjectType_toString.call(this, options);
123
+ return options.toString();
124
+ }
125
+ }
126
+ exports.UAObjectTypeImpl = UAObjectTypeImpl;
127
127
  //# sourceMappingURL=ua_object_type_impl.js.map
@@ -1,45 +1,45 @@
1
- /**
2
- * @module node-opcua-address-space
3
- */
4
- import { UAReference, UAReferenceType } from "node-opcua-address-space-base";
5
- import { LocalizedTextOptions } from "node-opcua-data-model";
6
- import { LocalizedText, NodeClass } from "node-opcua-data-model";
7
- import { AttributeIds } from "node-opcua-data-model";
8
- import { DataValue } from "node-opcua-data-value";
9
- import { NodeId } from "node-opcua-nodeid";
10
- import { SessionContext, UAReferenceType as UAReferenceTypePublic } from "../source";
11
- import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
12
- import * as tools from "./tool_isSubtypeOf";
13
- export interface UAReferenceTypeOptions extends InternalBaseNodeOptions {
14
- isAbstract?: boolean;
15
- symmetric?: boolean;
16
- inverseName: null | string | LocalizedTextOptions;
17
- }
18
- export declare class UAReferenceTypeImpl extends BaseNodeImpl implements UAReferenceType {
19
- readonly nodeClass = NodeClass.ReferenceType;
20
- readonly isAbstract: boolean;
21
- readonly symmetric: boolean;
22
- readonly inverseName: LocalizedText;
23
- get subtypeOfObj(): UAReferenceTypePublic | null;
24
- get subtypeOf(): NodeId | null;
25
- /**
26
- * returns true if self is a super type of baseType
27
- */
28
- isSubtypeOf: tools.IsSubtypeOfFunc<UAReferenceType>;
29
- /** @deprecated - use `isSubtypeOf` instead*/
30
- isSupertypeOf: tools.IsSubtypeOfFunc<UAReferenceType>;
31
- /**
32
- * @private
33
- */
34
- _slow_isSubtypeOf: (this: UAReferenceType, baseType: import("node-opcua-nodeid").NodeIdLike | UAReferenceType) => boolean;
35
- constructor(options: UAReferenceTypeOptions);
36
- readAttribute(context: SessionContext | null, attributeId: AttributeIds): DataValue;
37
- toString(): string;
38
- install_extra_properties(): void;
39
- /**
40
- * returns a array of all ReferenceTypes in the addressSpace that are self or a subType of self
41
- * recursively
42
- */
43
- getAllSubtypes(): UAReferenceType[];
44
- checkHasSubtype(ref: UAReference | NodeId): boolean;
45
- }
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { UAReference, UAReferenceType } from "node-opcua-address-space-base";
5
+ import { LocalizedTextOptions } from "node-opcua-data-model";
6
+ import { LocalizedText, NodeClass } from "node-opcua-data-model";
7
+ import { AttributeIds } from "node-opcua-data-model";
8
+ import { DataValue } from "node-opcua-data-value";
9
+ import { NodeId } from "node-opcua-nodeid";
10
+ import { SessionContext, UAReferenceType as UAReferenceTypePublic } from "../source";
11
+ import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
12
+ import * as tools from "./tool_isSubtypeOf";
13
+ export interface UAReferenceTypeOptions extends InternalBaseNodeOptions {
14
+ isAbstract?: boolean;
15
+ symmetric?: boolean;
16
+ inverseName: null | string | LocalizedTextOptions;
17
+ }
18
+ export declare class UAReferenceTypeImpl extends BaseNodeImpl implements UAReferenceType {
19
+ readonly nodeClass = NodeClass.ReferenceType;
20
+ readonly isAbstract: boolean;
21
+ readonly symmetric: boolean;
22
+ readonly inverseName: LocalizedText;
23
+ get subtypeOfObj(): UAReferenceTypePublic | null;
24
+ get subtypeOf(): NodeId | null;
25
+ /**
26
+ * returns true if self is a super type of baseType
27
+ */
28
+ isSubtypeOf: tools.IsSubtypeOfFunc<UAReferenceType>;
29
+ /** @deprecated - use `isSubtypeOf` instead*/
30
+ isSupertypeOf: tools.IsSubtypeOfFunc<UAReferenceType>;
31
+ /**
32
+ * @private
33
+ */
34
+ _slow_isSubtypeOf: (this: UAReferenceType, baseType: UAReferenceType | import("node-opcua-nodeid").NodeIdLike) => boolean;
35
+ constructor(options: UAReferenceTypeOptions);
36
+ readAttribute(context: SessionContext | null, attributeId: AttributeIds): DataValue;
37
+ toString(): string;
38
+ install_extra_properties(): void;
39
+ /**
40
+ * returns a array of all ReferenceTypes in the addressSpace that are self or a subType of self
41
+ * recursively
42
+ */
43
+ getAllSubtypes(): UAReferenceType[];
44
+ checkHasSubtype(ref: UAReference | NodeId): boolean;
45
+ }
@@ -1,142 +1,142 @@
1
- "use strict";
2
- /**
3
- * @module node-opcua-address-space
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.UAReferenceTypeImpl = void 0;
7
- const node_opcua_assert_1 = require("node-opcua-assert");
8
- const node_opcua_data_model_1 = require("node-opcua-data-model");
9
- const node_opcua_data_model_2 = require("node-opcua-data-model");
10
- const node_opcua_data_model_3 = require("node-opcua-data-model");
11
- const node_opcua_data_value_1 = require("node-opcua-data-value");
12
- const node_opcua_status_code_1 = require("node-opcua-status-code");
13
- const node_opcua_variant_1 = require("node-opcua-variant");
14
- const source_1 = require("../source");
15
- const base_node_impl_1 = require("./base_node_impl");
16
- const tools = require("./tool_isSubtypeOf");
17
- const tool_isSubtypeOf_1 = require("./tool_isSubtypeOf");
18
- const reference_impl_1 = require("./reference_impl");
19
- const base_node_private_1 = require("./base_node_private");
20
- const ReferenceTypeCounter = { count: 0 };
21
- function _internal_getAllSubtypes(referenceType) {
22
- const addressSpace = referenceType.addressSpace;
23
- const possibleReferenceTypes = [];
24
- const hasSubtypeReferenceType = addressSpace.findReferenceType("HasSubtype");
25
- function _findAllSubType(referenceTypeInner) {
26
- possibleReferenceTypes.push(referenceTypeInner);
27
- (0, node_opcua_assert_1.assert)(referenceTypeInner.nodeClass === node_opcua_data_model_2.NodeClass.ReferenceType);
28
- const references = referenceTypeInner.findReferences(hasSubtypeReferenceType, true);
29
- for (const _r of references) {
30
- const subType = addressSpace.findReferenceType(_r.nodeId);
31
- _findAllSubType(subType);
32
- }
33
- }
34
- _findAllSubType(referenceType);
35
- return possibleReferenceTypes;
36
- }
37
- function _getAllSubtypes(ref) {
38
- const _cache = (0, base_node_private_1.BaseNode_getCache)(ref);
39
- if (!_cache._allSubTypesVersion || _cache._allSubTypesVersion < ReferenceTypeCounter.count) {
40
- _cache._allSubTypes = null;
41
- }
42
- if (!_cache._allSubTypes) {
43
- _cache._allSubTypes = _internal_getAllSubtypes(ref);
44
- _cache._allSubTypesVersion = ReferenceTypeCounter.count;
45
- }
46
- return _cache._allSubTypes;
47
- }
48
- function _internal_getSubtypeIndex(referenceType) {
49
- const possibleReferenceTypes = _getAllSubtypes(referenceType);
50
- // create a index of reference type with browseName as key for faster search
51
- const keys = {};
52
- for (const refType of possibleReferenceTypes) {
53
- keys[refType.nodeId.toString()] = refType;
54
- }
55
- return keys;
56
- }
57
- function _getSubtypeIndex(referenceType) {
58
- const _cache = (0, base_node_private_1.BaseNode_getCache)(referenceType);
59
- if (!_cache._subtype_idx || (_cache._subtype_idxVersion && _cache._subtype_idxVersion < ReferenceTypeCounter.count)) {
60
- // the cache need to be invalidated
61
- _cache._subtype_idx = null;
62
- }
63
- if (!_cache._subtype_idx) {
64
- _cache._subtype_idx = _internal_getSubtypeIndex(referenceType);
65
- _cache._subtype_idxVersion = ReferenceTypeCounter.count;
66
- }
67
- return _cache._subtype_idx;
68
- }
69
- class UAReferenceTypeImpl extends base_node_impl_1.BaseNodeImpl {
70
- get subtypeOfObj() {
71
- return tool_isSubtypeOf_1.get_subtypeOfObj.call(this);
72
- }
73
- get subtypeOf() {
74
- return tool_isSubtypeOf_1.get_subtypeOf.call(this);
75
- }
76
- constructor(options) {
77
- super(options);
78
- this.nodeClass = node_opcua_data_model_2.NodeClass.ReferenceType;
79
- /**
80
- * returns true if self is a super type of baseType
81
- */
82
- this.isSubtypeOf = tools.construct_isSubtypeOf(UAReferenceTypeImpl);
83
- /** @deprecated - use `isSubtypeOf` instead*/
84
- this.isSupertypeOf = tools.construct_isSubtypeOf(UAReferenceTypeImpl);
85
- /**
86
- * @private
87
- */
88
- this._slow_isSubtypeOf = tools.construct_slow_isSubtypeOf(UAReferenceTypeImpl);
89
- this.isAbstract = options.isAbstract === undefined ? false : !!options.isAbstract;
90
- this.symmetric = options.symmetric === undefined ? false : !!options.symmetric;
91
- // Note: Inverse name is not required anymore in 1.0.4
92
- this.inverseName = (0, node_opcua_data_model_1.coerceLocalizedText)(options.inverseName || this.browseName.name);
93
- ReferenceTypeCounter.count += 1;
94
- }
95
- readAttribute(context, attributeId) {
96
- (0, node_opcua_assert_1.assert)(!context || context instanceof source_1.SessionContext);
97
- const options = {};
98
- switch (attributeId) {
99
- case node_opcua_data_model_3.AttributeIds.IsAbstract:
100
- options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: !!this.isAbstract };
101
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
102
- break;
103
- case node_opcua_data_model_3.AttributeIds.Symmetric:
104
- options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: !!this.symmetric };
105
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
106
- break;
107
- case node_opcua_data_model_3.AttributeIds.InverseName: // LocalizedText
108
- options.value = { dataType: node_opcua_variant_1.DataType.LocalizedText, value: this.inverseName };
109
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
110
- break;
111
- default:
112
- return super.readAttribute(context, attributeId);
113
- }
114
- return new node_opcua_data_value_1.DataValue(options);
115
- }
116
- toString() {
117
- let str = "";
118
- str += this.isAbstract ? "A" : " ";
119
- str += this.symmetric ? "S" : " ";
120
- str += " " + this.browseName.toString() + "/" + this.inverseName.text + " ";
121
- str += this.nodeId.toString();
122
- return str;
123
- }
124
- install_extra_properties() {
125
- /** */
126
- }
127
- /**
128
- * returns a array of all ReferenceTypes in the addressSpace that are self or a subType of self
129
- * recursively
130
- */
131
- getAllSubtypes() {
132
- return _getAllSubtypes(this);
133
- }
134
- checkHasSubtype(ref) {
135
- const _index = _getSubtypeIndex(this);
136
- const referenceTypeNodeId = ref instanceof reference_impl_1.ReferenceImpl ? ref.nodeId : ref;
137
- const _key = referenceTypeNodeId.toString();
138
- return !!_index[_key];
139
- }
140
- }
141
- exports.UAReferenceTypeImpl = UAReferenceTypeImpl;
1
+ "use strict";
2
+ /**
3
+ * @module node-opcua-address-space
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UAReferenceTypeImpl = void 0;
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
9
+ const node_opcua_data_model_2 = require("node-opcua-data-model");
10
+ const node_opcua_data_model_3 = require("node-opcua-data-model");
11
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
12
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
13
+ const node_opcua_variant_1 = require("node-opcua-variant");
14
+ const source_1 = require("../source");
15
+ const base_node_impl_1 = require("./base_node_impl");
16
+ const tools = require("./tool_isSubtypeOf");
17
+ const tool_isSubtypeOf_1 = require("./tool_isSubtypeOf");
18
+ const reference_impl_1 = require("./reference_impl");
19
+ const base_node_private_1 = require("./base_node_private");
20
+ const ReferenceTypeCounter = { count: 0 };
21
+ function _internal_getAllSubtypes(referenceType) {
22
+ const addressSpace = referenceType.addressSpace;
23
+ const possibleReferenceTypes = [];
24
+ const hasSubtypeReferenceType = addressSpace.findReferenceType("HasSubtype");
25
+ function _findAllSubType(referenceTypeInner) {
26
+ possibleReferenceTypes.push(referenceTypeInner);
27
+ (0, node_opcua_assert_1.assert)(referenceTypeInner.nodeClass === node_opcua_data_model_2.NodeClass.ReferenceType);
28
+ const references = referenceTypeInner.findReferences(hasSubtypeReferenceType, true);
29
+ for (const _r of references) {
30
+ const subType = addressSpace.findReferenceType(_r.nodeId);
31
+ _findAllSubType(subType);
32
+ }
33
+ }
34
+ _findAllSubType(referenceType);
35
+ return possibleReferenceTypes;
36
+ }
37
+ function _getAllSubtypes(ref) {
38
+ const _cache = (0, base_node_private_1.BaseNode_getCache)(ref);
39
+ if (!_cache._allSubTypesVersion || _cache._allSubTypesVersion < ReferenceTypeCounter.count) {
40
+ _cache._allSubTypes = null;
41
+ }
42
+ if (!_cache._allSubTypes) {
43
+ _cache._allSubTypes = _internal_getAllSubtypes(ref);
44
+ _cache._allSubTypesVersion = ReferenceTypeCounter.count;
45
+ }
46
+ return _cache._allSubTypes;
47
+ }
48
+ function _internal_getSubtypeIndex(referenceType) {
49
+ const possibleReferenceTypes = _getAllSubtypes(referenceType);
50
+ // create a index of reference type with browseName as key for faster search
51
+ const keys = {};
52
+ for (const refType of possibleReferenceTypes) {
53
+ keys[refType.nodeId.toString()] = refType;
54
+ }
55
+ return keys;
56
+ }
57
+ function _getSubtypeIndex(referenceType) {
58
+ const _cache = (0, base_node_private_1.BaseNode_getCache)(referenceType);
59
+ if (!_cache._subtype_idx || (_cache._subtype_idxVersion && _cache._subtype_idxVersion < ReferenceTypeCounter.count)) {
60
+ // the cache need to be invalidated
61
+ _cache._subtype_idx = null;
62
+ }
63
+ if (!_cache._subtype_idx) {
64
+ _cache._subtype_idx = _internal_getSubtypeIndex(referenceType);
65
+ _cache._subtype_idxVersion = ReferenceTypeCounter.count;
66
+ }
67
+ return _cache._subtype_idx;
68
+ }
69
+ class UAReferenceTypeImpl extends base_node_impl_1.BaseNodeImpl {
70
+ get subtypeOfObj() {
71
+ return tool_isSubtypeOf_1.get_subtypeOfObj.call(this);
72
+ }
73
+ get subtypeOf() {
74
+ return tool_isSubtypeOf_1.get_subtypeOf.call(this);
75
+ }
76
+ constructor(options) {
77
+ super(options);
78
+ this.nodeClass = node_opcua_data_model_2.NodeClass.ReferenceType;
79
+ /**
80
+ * returns true if self is a super type of baseType
81
+ */
82
+ this.isSubtypeOf = tools.construct_isSubtypeOf(UAReferenceTypeImpl);
83
+ /** @deprecated - use `isSubtypeOf` instead*/
84
+ this.isSupertypeOf = tools.construct_isSubtypeOf(UAReferenceTypeImpl);
85
+ /**
86
+ * @private
87
+ */
88
+ this._slow_isSubtypeOf = tools.construct_slow_isSubtypeOf(UAReferenceTypeImpl);
89
+ this.isAbstract = options.isAbstract === undefined ? false : !!options.isAbstract;
90
+ this.symmetric = options.symmetric === undefined ? false : !!options.symmetric;
91
+ // Note: Inverse name is not required anymore in 1.0.4
92
+ this.inverseName = (0, node_opcua_data_model_1.coerceLocalizedText)(options.inverseName || this.browseName.name);
93
+ ReferenceTypeCounter.count += 1;
94
+ }
95
+ readAttribute(context, attributeId) {
96
+ (0, node_opcua_assert_1.assert)(!context || context instanceof source_1.SessionContext);
97
+ const options = {};
98
+ switch (attributeId) {
99
+ case node_opcua_data_model_3.AttributeIds.IsAbstract:
100
+ options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: !!this.isAbstract };
101
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
102
+ break;
103
+ case node_opcua_data_model_3.AttributeIds.Symmetric:
104
+ options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: !!this.symmetric };
105
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
106
+ break;
107
+ case node_opcua_data_model_3.AttributeIds.InverseName: // LocalizedText
108
+ options.value = { dataType: node_opcua_variant_1.DataType.LocalizedText, value: this.inverseName };
109
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
110
+ break;
111
+ default:
112
+ return super.readAttribute(context, attributeId);
113
+ }
114
+ return new node_opcua_data_value_1.DataValue(options);
115
+ }
116
+ toString() {
117
+ let str = "";
118
+ str += this.isAbstract ? "A" : " ";
119
+ str += this.symmetric ? "S" : " ";
120
+ str += " " + this.browseName.toString() + "/" + this.inverseName.text + " ";
121
+ str += this.nodeId.toString();
122
+ return str;
123
+ }
124
+ install_extra_properties() {
125
+ /** */
126
+ }
127
+ /**
128
+ * returns a array of all ReferenceTypes in the addressSpace that are self or a subType of self
129
+ * recursively
130
+ */
131
+ getAllSubtypes() {
132
+ return _getAllSubtypes(this);
133
+ }
134
+ checkHasSubtype(ref) {
135
+ const _index = _getSubtypeIndex(this);
136
+ const referenceTypeNodeId = ref instanceof reference_impl_1.ReferenceImpl ? ref.nodeId : ref;
137
+ const _key = referenceTypeNodeId.toString();
138
+ return !!_index[_key];
139
+ }
140
+ }
141
+ exports.UAReferenceTypeImpl = UAReferenceTypeImpl;
142
142
  //# sourceMappingURL=ua_reference_type_impl.js.map