node-opcua-address-space 2.55.0 → 2.58.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 (329) hide show
  1. package/LICENSE +20 -20
  2. package/dist/source/address_space_ts.js.map +1 -1
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +27 -16
  4. package/dist/source/continuation_points/continuation_point_manager.js +141 -48
  5. package/dist/source/continuation_points/continuation_point_manager.js.map +1 -1
  6. package/dist/source/helpers/adjust_browse_direction.js.map +1 -1
  7. package/dist/source/helpers/call_helpers.js.map +1 -1
  8. package/dist/source/helpers/check_event_clause.js.map +1 -1
  9. package/dist/source/helpers/coerce_enum_value.js.map +1 -1
  10. package/dist/source/helpers/ensure_secure_access.js +0 -13
  11. package/dist/source/helpers/ensure_secure_access.js.map +1 -1
  12. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +1 -1
  13. package/dist/source/loader/load_nodeset2.js +29 -3
  14. package/dist/source/loader/load_nodeset2.js.map +1 -1
  15. package/dist/source/loader/namespace_post_step.js.map +1 -1
  16. package/dist/source/loader/register_node_promoter.js.map +1 -1
  17. package/dist/source/namespace_machine_state.d.ts +1 -1
  18. package/dist/source/pseudo_session.js +23 -24
  19. package/dist/source/pseudo_session.js.map +1 -1
  20. package/dist/source/session_context.js +2 -2
  21. package/dist/source/session_context.js.map +1 -1
  22. package/dist/source/set_namespace_meta_data.js.map +1 -1
  23. package/dist/src/address_space.d.ts +7 -8
  24. package/dist/src/address_space.js +2 -2
  25. package/dist/src/address_space.js.map +1 -1
  26. package/dist/src/address_space_private.d.ts +4 -5
  27. package/dist/src/alarms_and_conditions/check_where_clause.js +1 -1
  28. package/dist/src/alarms_and_conditions/check_where_clause.js.map +1 -1
  29. package/dist/src/alarms_and_conditions/condition.js.map +1 -1
  30. package/dist/src/alarms_and_conditions/extract_event_fields.js.map +1 -1
  31. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +2 -1
  32. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  33. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -1
  34. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  35. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  36. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  37. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  38. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  39. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  40. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  41. package/dist/src/base_node_impl.js.map +1 -1
  42. package/dist/src/data_access/add_dataItem_stuff.js.map +1 -1
  43. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js.map +1 -1
  44. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -1
  45. package/dist/src/event_data.js.map +1 -1
  46. package/dist/src/extension_object_array_node.js.map +1 -1
  47. package/dist/src/historical_access/address_space_historical_data_node.js +28 -59
  48. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -1
  49. package/dist/src/namespace_impl.d.ts +2 -2
  50. package/dist/src/namespace_impl.js +6 -6
  51. package/dist/src/namespace_impl.js.map +1 -1
  52. package/dist/src/nodeid_manager.js +1 -4
  53. package/dist/src/nodeid_manager.js.map +1 -1
  54. package/dist/src/nodeset_tools/nodeset_to_xml.js +1 -1
  55. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -1
  56. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +1 -1
  57. package/dist/src/nodeset_tools/typedictionary_to_xml.js +3 -2
  58. package/dist/src/nodeset_tools/typedictionary_to_xml.js.map +1 -1
  59. package/dist/src/reference_impl.js +3 -1
  60. package/dist/src/reference_impl.js.map +1 -1
  61. package/dist/src/state_machine/finite_state_machine.js.map +1 -1
  62. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -1
  63. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -1
  64. package/dist/src/tool_isSupertypeOf.js.map +1 -1
  65. package/dist/src/ua_method_impl.d.ts +3 -2
  66. package/dist/src/ua_method_impl.js +5 -0
  67. package/dist/src/ua_method_impl.js.map +1 -1
  68. package/dist/src/ua_object_impl.d.ts +10 -6
  69. package/dist/src/ua_object_impl.js +1 -1
  70. package/dist/src/ua_object_impl.js.map +1 -1
  71. package/dist/src/ua_object_type_impl.js.map +1 -1
  72. package/dist/src/ua_reference_type_impl.js +3 -1
  73. package/dist/src/ua_reference_type_impl.js.map +1 -1
  74. package/dist/src/ua_variable_impl.d.ts +8 -7
  75. package/dist/src/ua_variable_impl.js +6 -10
  76. package/dist/src/ua_variable_impl.js.map +1 -1
  77. package/dist/src/ua_variable_type_impl.js.map +1 -1
  78. package/dist/src/ua_view_impl.js.map +1 -1
  79. package/distHelpers/add_event_generator_object.js.map +1 -1
  80. package/distHelpers/alarms_and_conditions_demo.js.map +1 -1
  81. package/distHelpers/boiler_system.d.ts +1 -1
  82. package/distHelpers/boiler_system.js +1 -2
  83. package/distHelpers/boiler_system.js.map +1 -1
  84. package/distHelpers/create_minimalist_address_space_nodeset.js +1 -0
  85. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -1
  86. package/distHelpers/date_utils.d.ts +3 -0
  87. package/distHelpers/date_utils.js +10 -0
  88. package/distHelpers/date_utils.js.map +1 -0
  89. package/distHelpers/get_mini_address_space.js.map +1 -1
  90. package/distHelpers/index.d.ts +2 -0
  91. package/distHelpers/index.js +2 -0
  92. package/distHelpers/index.js.map +1 -1
  93. package/distHelpers/mock_session.d.ts +14 -0
  94. package/distHelpers/mock_session.js +26 -0
  95. package/distHelpers/mock_session.js.map +1 -0
  96. package/generate.js +1 -1
  97. package/nodeJS.d.ts +1 -1
  98. package/package.json +32 -32
  99. package/source/address_space_ts.ts +0 -3
  100. package/source/continuation_points/continuation_point_manager.ts +178 -64
  101. package/source/helpers/adjust_browse_direction.ts +3 -3
  102. package/source/helpers/argument_list.ts +1 -1
  103. package/source/helpers/call_helpers.ts +0 -1
  104. package/source/helpers/check_event_clause.ts +2 -9
  105. package/source/helpers/coerce_enum_value.ts +3 -3
  106. package/source/helpers/ensure_secure_access.ts +1 -13
  107. package/source/helpers/resolve_opaque_on_address_space.ts +4 -1
  108. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +13 -13
  109. package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +0 -1
  110. package/source/interfaces/data_access/ua_y_array_item_ex.ts +4 -2
  111. package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +5 -1
  112. package/source/interfaces/state_machine/ua_state_machine_type.ts +2 -2
  113. package/source/loader/load_nodeset2.ts +39 -3
  114. package/source/loader/namespace_post_step.ts +1 -2
  115. package/source/loader/register_node_promoter.ts +4 -1
  116. package/source/namespace.ts +4 -6
  117. package/source/namespace_machine_state.ts +1 -2
  118. package/source/pseudo_session.ts +37 -29
  119. package/source/session_context.ts +2 -9
  120. package/source/set_namespace_meta_data.ts +21 -15
  121. package/source/xml_writer.ts +0 -1
  122. package/source_nodejs/index.ts +1 -1
  123. package/src/address_space.ts +17 -16
  124. package/src/address_space_private.ts +7 -12
  125. package/src/alarms_and_conditions/check_where_clause.ts +21 -22
  126. package/src/alarms_and_conditions/condition.ts +0 -1
  127. package/src/alarms_and_conditions/extract_event_fields.ts +0 -1
  128. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +14 -10
  129. package/src/alarms_and_conditions/ua_base_event_impl.ts +11 -15
  130. package/src/alarms_and_conditions/ua_condition_impl.ts +35 -40
  131. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +39 -33
  132. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +2 -2
  133. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +4 -5
  134. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +16 -16
  135. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +8 -8
  136. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +9 -10
  137. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +2 -4
  138. package/src/apply_condition_refresh.ts +2 -2
  139. package/src/base_node_impl.ts +2 -2
  140. package/src/data_access/add_dataItem_stuff.ts +4 -4
  141. package/src/data_access/check_variant_compatibility_ua_analog_item.ts +12 -15
  142. package/src/data_access/ua_multistate_discrete_impl.ts +6 -3
  143. package/src/data_access/ua_multistate_value_discrete.ts +1 -1
  144. package/src/event_data.ts +1 -7
  145. package/src/extension_object_array_node.ts +4 -10
  146. package/src/historical_access/address_space_historical_data_node.ts +39 -63
  147. package/src/namespace_impl.ts +5 -5
  148. package/src/namespace_private.ts +1 -1
  149. package/src/nodeid_manager.ts +2 -5
  150. package/src/nodeset_tools/nodeset_to_xml.ts +5 -5
  151. package/src/nodeset_tools/typedictionary_to_xml.ts +7 -5
  152. package/src/reference_impl.ts +4 -2
  153. package/src/state_machine/finite_state_machine.ts +426 -428
  154. package/src/state_machine/ua_shelving_state_machine_ex.ts +19 -9
  155. package/src/state_machine/ua_two_state_variable.ts +5 -7
  156. package/src/tool_isSupertypeOf.ts +2 -6
  157. package/src/ua_condition_type.ts +0 -1
  158. package/src/ua_method_impl.ts +25 -9
  159. package/src/ua_object_impl.ts +13 -8
  160. package/src/ua_object_type_impl.ts +7 -4
  161. package/src/ua_reference_type_impl.ts +6 -12
  162. package/src/ua_variable_impl.ts +11 -15
  163. package/src/ua_variable_type_impl.ts +2 -2
  164. package/src/ua_view_impl.ts +3 -6
  165. package/testHelpers.d.ts +1 -1
  166. package/test_helpers/add_event_generator_object.ts +6 -5
  167. package/test_helpers/alarms_and_conditions_demo.ts +9 -8
  168. package/test_helpers/assertHasMatchingReference.ts +43 -43
  169. package/test_helpers/boiler_system.ts +610 -618
  170. package/test_helpers/create_minimalist_address_space_nodeset.ts +13 -13
  171. package/test_helpers/date_utils.ts +5 -0
  172. package/test_helpers/dump_statemachine.ts +2 -2
  173. package/test_helpers/get_address_space_fixture.ts +30 -30
  174. package/test_helpers/get_mini_address_space.ts +42 -42
  175. package/test_helpers/index.ts +13 -11
  176. package/test_helpers/mock_session.ts +34 -0
  177. package/test_helpers/test_fixtures/dataType_in_separateNamespace.xml +150 -150
  178. package/test_helpers/test_fixtures/dataType_in_separateNamespace_basic.xml +57 -57
  179. package/test_helpers/test_fixtures/dataType_in_separateNamespace_mix.xml +135 -135
  180. package/test_helpers/test_fixtures/dataType_withEnumeration.xml +82 -82
  181. package/test_helpers/test_fixtures/dataType_with_isOptionSet.xml +194 -194
  182. package/test_helpers/test_fixtures/dataType_with_union.xml +1 -1
  183. package/test_helpers/test_fixtures/fixture_empty_nodeset2.xml +106 -106
  184. package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +1303 -1303
  185. package/test_helpers/test_fixtures/fixuture_nodeset_objects_with_some_methods.xml +362 -362
  186. package/test_helpers/test_fixtures/issue_846.xml +3172 -3172
  187. package/test_helpers/test_fixtures/issue_899_variable_with_nodeid_value.xml +32 -32
  188. package/test_helpers/test_fixtures/mini.nodeset.withVariousVariables.xml +194 -194
  189. package/test_helpers/test_fixtures/minimalist_nodeset_with_models.xml +8 -8
  190. package/test_helpers/test_fixtures/minimalist_nodeset_with_models_more_complex.xml +16 -16
  191. package/test_helpers/test_fixtures/nodeset_with_analog_items.xml +45 -45
  192. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +0 -23
  193. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +0 -3
  194. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +0 -1
  195. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +0 -6
  196. package/dist/source/interfaces/data_access/ua_discrete_item.js +0 -3
  197. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +0 -1
  198. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +0 -25
  199. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +0 -3
  200. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +0 -1
  201. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +0 -27
  202. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +0 -3
  203. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +0 -1
  204. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +0 -17
  205. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +0 -3
  206. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +0 -1
  207. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +0 -19
  208. package/dist/source/interfaces/data_access/ua_y_array_item.js +0 -3
  209. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +0 -1
  210. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +0 -11
  211. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +0 -3
  212. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +0 -1
  213. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +0 -70
  214. package/dist/source/interfaces/state_machine/finite_state_machine.js +0 -3
  215. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +0 -1
  216. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +0 -74
  217. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +0 -3
  218. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +0 -1
  219. package/dist/source/interfaces/state_machine/state_machine.d.ts +0 -342
  220. package/dist/source/interfaces/state_machine/state_machine.js +0 -3
  221. package/dist/source/interfaces/state_machine/state_machine.js.map +0 -1
  222. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +0 -18
  223. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +0 -3
  224. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +0 -1
  225. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +0 -29
  226. package/dist/source/interfaces/state_machine/ua_state_variable.js +0 -3
  227. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +0 -1
  228. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +0 -26
  229. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +0 -3
  230. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +0 -1
  231. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +0 -41
  232. package/dist/source/interfaces/subscription_diagnostics_variable.js +0 -3
  233. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +0 -1
  234. package/dist/src/alarms_and_conditions/base_event_type.d.ts +0 -26
  235. package/dist/src/alarms_and_conditions/base_event_type.js +0 -41
  236. package/dist/src/alarms_and_conditions/base_event_type.js.map +0 -1
  237. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +0 -22
  238. package/dist/src/alarms_and_conditions/shelving_state_machine.js +0 -241
  239. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +0 -1
  240. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +0 -16
  241. package/dist/src/alarms_and_conditions/trip_alarm.js +0 -21
  242. package/dist/src/alarms_and_conditions/trip_alarm.js.map +0 -1
  243. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +0 -54
  244. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +0 -255
  245. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +0 -1
  246. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +0 -138
  247. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +0 -460
  248. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +0 -1
  249. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +0 -35
  250. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +0 -32
  251. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +0 -1
  252. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +0 -191
  253. package/dist/src/alarms_and_conditions/ua_condition_base.js +0 -1029
  254. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +0 -1
  255. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +0 -11
  256. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +0 -58
  257. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +0 -1
  258. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +0 -24
  259. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +0 -59
  260. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +0 -1
  261. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +0 -14
  262. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +0 -17
  263. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +0 -1
  264. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +0 -22
  265. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +0 -87
  266. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +0 -1
  267. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +0 -6
  268. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +0 -11
  269. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +0 -1
  270. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +0 -76
  271. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +0 -237
  272. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +0 -1
  273. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +0 -27
  274. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +0 -62
  275. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +0 -1
  276. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +0 -49
  277. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +0 -176
  278. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +0 -1
  279. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +0 -47
  280. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +0 -151
  281. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +0 -1
  282. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +0 -16
  283. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +0 -18
  284. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +0 -1
  285. package/dist/src/base_node.d.ts +0 -289
  286. package/dist/src/base_node.js +0 -1345
  287. package/dist/src/base_node.js.map +0 -1
  288. package/dist/src/data_access/ua_analog_item.d.ts +0 -13
  289. package/dist/src/data_access/ua_analog_item.js +0 -37
  290. package/dist/src/data_access/ua_analog_item.js.map +0 -1
  291. package/dist/src/data_access/ua_data_item.d.ts +0 -16
  292. package/dist/src/data_access/ua_data_item.js +0 -66
  293. package/dist/src/data_access/ua_data_item.js.map +0 -1
  294. package/dist/src/data_access/ua_multistate_discrete.d.ts +0 -24
  295. package/dist/src/data_access/ua_multistate_discrete.js +0 -132
  296. package/dist/src/data_access/ua_multistate_discrete.js.map +0 -1
  297. package/dist/src/namespace.d.ts +0 -472
  298. package/dist/src/namespace.js +0 -1751
  299. package/dist/src/namespace.js.map +0 -1
  300. package/dist/src/reference.d.ts +0 -43
  301. package/dist/src/reference.js +0 -138
  302. package/dist/src/reference.js.map +0 -1
  303. package/dist/src/session_context.d.ts +0 -4
  304. package/dist/src/session_context.js +0 -9
  305. package/dist/src/session_context.js.map +0 -1
  306. package/dist/src/ua_data_type.d.ts +0 -83
  307. package/dist/src/ua_data_type.js +0 -289
  308. package/dist/src/ua_data_type.js.map +0 -1
  309. package/dist/src/ua_method.d.ts +0 -41
  310. package/dist/src/ua_method.js +0 -202
  311. package/dist/src/ua_method.js.map +0 -1
  312. package/dist/src/ua_object.d.ts +0 -28
  313. package/dist/src/ua_object.js +0 -153
  314. package/dist/src/ua_object.js.map +0 -1
  315. package/dist/src/ua_object_type.d.ts +0 -49
  316. package/dist/src/ua_object_type.js +0 -123
  317. package/dist/src/ua_object_type.js.map +0 -1
  318. package/dist/src/ua_reference_type.d.ts +0 -42
  319. package/dist/src/ua_reference_type.js +0 -138
  320. package/dist/src/ua_reference_type.js.map +0 -1
  321. package/dist/src/ua_variable.d.ts +0 -339
  322. package/dist/src/ua_variable.js +0 -1706
  323. package/dist/src/ua_variable.js.map +0 -1
  324. package/dist/src/ua_variable_type.d.ts +0 -57
  325. package/dist/src/ua_variable_type.js +0 -530
  326. package/dist/src/ua_variable_type.js.map +0 -1
  327. package/dist/src/ua_view.d.ts +0 -16
  328. package/dist/src/ua_view.js +0 -42
  329. package/dist/src/ua_view.js.map +0 -1
@@ -1,153 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UAObject = void 0;
4
- /**
5
- * @module node-opcua-address-space
6
- */
7
- const chalk = require("chalk");
8
- const node_opcua_assert_1 = require("node-opcua-assert");
9
- const node_opcua_basic_types_1 = require("node-opcua-basic-types");
10
- const node_opcua_data_model_1 = require("node-opcua-data-model");
11
- const node_opcua_data_model_2 = require("node-opcua-data-model");
12
- const node_opcua_data_value_1 = require("node-opcua-data-value");
13
- const node_opcua_date_time_1 = require("node-opcua-date-time");
14
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
15
- const node_opcua_status_code_1 = require("node-opcua-status-code");
16
- const node_opcua_variant_1 = require("node-opcua-variant");
17
- const base_node_1 = require("./base_node");
18
- const base_node_private_1 = require("./base_node_private");
19
- class UAObject extends base_node_1.BaseNode {
20
- constructor(options) {
21
- super(options);
22
- this.nodeClass = node_opcua_data_model_1.NodeClass.Object;
23
- this.eventNotifier = options.eventNotifier || 0;
24
- node_opcua_assert_1.assert(typeof this.eventNotifier === "number" && node_opcua_basic_types_1.isValidByte(this.eventNotifier));
25
- this.symbolicName = options.symbolicName || null;
26
- }
27
- get typeDefinitionObj() {
28
- return super.typeDefinitionObj;
29
- }
30
- readAttribute(context, attributeId) {
31
- const now = node_opcua_date_time_1.getCurrentClock();
32
- const options = {};
33
- switch (attributeId) {
34
- case node_opcua_data_model_2.AttributeIds.EventNotifier:
35
- node_opcua_assert_1.assert(node_opcua_basic_types_1.isValidByte(this.eventNotifier));
36
- options.value = { dataType: node_opcua_variant_1.DataType.Byte, value: this.eventNotifier };
37
- options.serverTimestamp = now.timestamp;
38
- options.serverPicoseconds = now.picoseconds;
39
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
40
- break;
41
- default:
42
- return base_node_1.BaseNode.prototype.readAttribute.call(this, context, attributeId);
43
- }
44
- return new node_opcua_data_value_1.DataValue(options);
45
- }
46
- clone(options, optionalFilter, extraInfo) {
47
- options = options || {};
48
- options = Object.assign(Object.assign({}, options), { eventNotifier: this.eventNotifier, symbolicName: this.symbolicName });
49
- const cloneObject = base_node_private_1._clone.call(this, UAObject, options, optionalFilter, extraInfo);
50
- // xx newObject.propagate_back_references();
51
- // xx newObject.install_extra_properties();
52
- return cloneObject;
53
- }
54
- /**
55
- * returns true if the object has some opcua methods
56
- */
57
- get hasMethods() {
58
- return this.getMethods().length > 0;
59
- }
60
- getMethodByName(methodName, namespaceIndex) {
61
- return super.getMethodByName(methodName, namespaceIndex);
62
- }
63
- getMethods() {
64
- return super.getMethods();
65
- }
66
- /**
67
- * Raise a transient Event
68
- */
69
- raiseEvent(eventType, data) {
70
- const addressSpace = this.addressSpace;
71
- if (typeof eventType === "string") {
72
- const eventTypeFound = addressSpace.findEventType(eventType);
73
- if (!eventTypeFound) {
74
- throw new Error("raiseEvent: eventType cannot find event Type " + eventType.toString());
75
- }
76
- eventType = eventTypeFound;
77
- if (!eventType || eventType.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
78
- throw new Error("eventType must exist and be an UAObjectType");
79
- }
80
- }
81
- else if (eventType instanceof node_opcua_nodeid_1.NodeId) {
82
- const eventTypeFound = addressSpace.findNode(eventType);
83
- if (!eventTypeFound) {
84
- throw new Error("raiseEvent: eventType cannot find event Type " + eventType.toString());
85
- }
86
- eventType = eventTypeFound;
87
- if (!eventType || eventType.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
88
- throw new Error("eventType must exist and be an UAObjectType" + eventType.toString());
89
- }
90
- }
91
- eventType = eventType;
92
- let eventTypeNode = eventType;
93
- // istanbul ignore next
94
- if (!eventTypeNode) {
95
- throw new Error("UAObject#raiseEventType : Cannot find event type :" + eventType.toString());
96
- }
97
- // coerce EventType
98
- eventTypeNode = addressSpace.findEventType(eventType);
99
- const baseEventType = addressSpace.findEventType("BaseEventType");
100
- node_opcua_assert_1.assert(eventTypeNode.isSupertypeOf(baseEventType));
101
- data.$eventDataSource = eventTypeNode;
102
- data.sourceNode = data.sourceNode || { dataType: node_opcua_variant_1.DataType.NodeId, value: this.nodeId };
103
- const eventData1 = addressSpace.constructEventData(eventTypeNode, data);
104
- this._bubble_up_event(eventData1);
105
- }
106
- _bubble_up_event(eventData) {
107
- const addressSpace = this.addressSpace;
108
- const queue = [];
109
- // walk up the hasNotify / hasEventSource chain
110
- const m = {};
111
- // all events are notified to the server object
112
- // emit on server object
113
- const server = addressSpace.findNode("Server");
114
- if (server) {
115
- node_opcua_assert_1.assert(server.eventNotifier > 0x00, "Server must be an event notifier");
116
- server.emit("event", eventData);
117
- m[server.nodeId.toString()] = server;
118
- }
119
- else {
120
- // tslint:disable:no-console
121
- console.warn(chalk.yellow("Warning. ") +
122
- chalk.cyan("UAObject#raiseEvent") +
123
- chalk.red(" cannot find Server object on addressSpace"));
124
- }
125
- addInQueue(this);
126
- function addInQueue(obj) {
127
- const key = obj.nodeId.toString();
128
- if (!m[key]) {
129
- m[key] = obj;
130
- queue.push(obj);
131
- }
132
- }
133
- while (queue.length) {
134
- const obj = queue.pop();
135
- // emit on object
136
- obj.emit("event", eventData);
137
- const elements1 = obj.findReferencesAsObject("HasNotifier", false);
138
- elements1.forEach(addInQueue);
139
- const elements2 = obj.findReferencesAsObject("HasEventSource", false);
140
- elements2.forEach(addInQueue);
141
- }
142
- }
143
- _conditionRefresh(_cache) {
144
- base_node_private_1.apply_condition_refresh.call(this, _cache);
145
- }
146
- toString() {
147
- const options = new base_node_private_1.ToStringBuilder();
148
- base_node_private_1.UAObject_toString.call(this, options);
149
- return options.toString();
150
- }
151
- }
152
- exports.UAObject = UAObject;
153
- //# sourceMappingURL=ua_object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ua_object.js","sourceRoot":"","sources":["../../src/ua_object.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- import { NodeClass } from "node-opcua-data-model";
2
- import { AttributeIds } from "node-opcua-data-model";
3
- import { DataValue } from "node-opcua-data-value";
4
- import { NodeId } from "node-opcua-nodeid";
5
- import { InstantiateObjectOptions, UAObject as UAObjectPublic, UAObjectType as UAObjectTypePublic } from "../source";
6
- import { BaseNode } from "./base_node";
7
- import { SessionContext } from "./session_context";
8
- import * as tools from "./tool_isSupertypeOf";
9
- export declare class UAObjectType extends BaseNode implements UAObjectTypePublic {
10
- readonly nodeClass = NodeClass.ObjectType;
11
- readonly isAbstract: boolean;
12
- /**
13
- * returns true if the object has some opcua methods
14
- */
15
- get hasMethods(): boolean;
16
- get subtypeOf(): NodeId | null;
17
- get subtypeOfObj(): UAObjectTypePublic | null;
18
- isSupertypeOf: tools.IsSupertypeOfFunc<UAObjectTypePublic>;
19
- constructor(options: any);
20
- readAttribute(context: SessionContext, attributeId: AttributeIds): DataValue;
21
- /**
22
- * instantiate an object of this UAObjectType
23
- * The instantiation takes care of object type inheritance when constructing inner properties and components.
24
- * @method instantiate
25
- * @param options
26
- * @param options.browseName
27
- * @param [options.description]
28
- * @param [options.organizedBy] the parent Folder holding this object
29
- * @param [options.componentOf] the parent Object holding this object
30
- * @param [options.notifierOf]
31
- * @param [options.eventSourceOf]
32
- * @param [options.optionals = [] name of the optional child to create
33
- * @param [options.modellingRule]
34
- * @param [options.encodingOf]
35
- *
36
- *
37
- * Note : HasComponent usage scope
38
- *
39
- * Source | Destination
40
- * -------------------+---------------------------
41
- * Object | Object, Variable,Method
42
- * ObjectType |
43
- * -------------------+---------------------------
44
- * DataVariable | Variable
45
- * DataVariableType |
46
- */
47
- instantiate(options: InstantiateObjectOptions): UAObjectPublic;
48
- toString(): string;
49
- }
@@ -1,123 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UAObjectType = 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 base_node_1 = require("./base_node");
15
- const base_node_private_1 = require("./base_node_private");
16
- const session_context_1 = require("./session_context");
17
- const tool_isSupertypeOf_1 = require("./tool_isSupertypeOf");
18
- const tools = require("./tool_isSupertypeOf");
19
- const ua_variable_type_1 = require("./ua_variable_type");
20
- class UAObjectType extends base_node_1.BaseNode {
21
- constructor(options) {
22
- super(options);
23
- this.nodeClass = node_opcua_data_model_1.NodeClass.ObjectType;
24
- this.isSupertypeOf = tools.construct_isSupertypeOf(UAObjectType);
25
- this.isAbstract = utils.isNullOrUndefined(options.isAbstract) ? false : options.isAbstract;
26
- }
27
- /**
28
- * returns true if the object has some opcua methods
29
- */
30
- get hasMethods() {
31
- return this.getMethods().length > 0;
32
- }
33
- get subtypeOf() {
34
- return tool_isSupertypeOf_1.get_subtypeOf.call(this);
35
- }
36
- get subtypeOfObj() {
37
- return tool_isSupertypeOf_1.get_subtypeOfObj.call(this);
38
- }
39
- readAttribute(context, attributeId) {
40
- node_opcua_assert_1.assert(context instanceof session_context_1.SessionContext);
41
- const options = {};
42
- switch (attributeId) {
43
- case node_opcua_data_model_2.AttributeIds.IsAbstract:
44
- options.value = {
45
- dataType: node_opcua_variant_1.DataType.Boolean,
46
- value: !!this.isAbstract
47
- };
48
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
49
- break;
50
- default:
51
- return base_node_1.BaseNode.prototype.readAttribute.call(this, context, attributeId);
52
- }
53
- return new node_opcua_data_value_1.DataValue(options);
54
- }
55
- /**
56
- * instantiate an object of this UAObjectType
57
- * The instantiation takes care of object type inheritance when constructing inner properties and components.
58
- * @method instantiate
59
- * @param options
60
- * @param options.browseName
61
- * @param [options.description]
62
- * @param [options.organizedBy] the parent Folder holding this object
63
- * @param [options.componentOf] the parent Object holding this object
64
- * @param [options.notifierOf]
65
- * @param [options.eventSourceOf]
66
- * @param [options.optionals = [] name of the optional child to create
67
- * @param [options.modellingRule]
68
- * @param [options.encodingOf]
69
- *
70
- *
71
- * Note : HasComponent usage scope
72
- *
73
- * Source | Destination
74
- * -------------------+---------------------------
75
- * Object | Object, Variable,Method
76
- * ObjectType |
77
- * -------------------+---------------------------
78
- * DataVariable | Variable
79
- * DataVariableType |
80
- */
81
- instantiate(options) {
82
- const addressSpace = this.addressSpace;
83
- node_opcua_assert_1.assert(!this.isAbstract, "cannot instantiate abstract UAObjectType");
84
- node_opcua_assert_1.assert(options, "missing option object");
85
- node_opcua_assert_1.assert(typeof options.browseName === "string" || (options.browseName !== null && typeof options.browseName === "object"), "expecting a browse name");
86
- node_opcua_assert_1.assert(!options.hasOwnProperty("propertyOf"), "an Object shall not be a PropertyOf an other object");
87
- node_opcua_assert_1.assert(!options.hasOwnProperty("optional"), "do you mean optionals ?");
88
- ua_variable_type_1.assertUnusedChildBrowseName(addressSpace, options);
89
- const baseObjectType = addressSpace.findObjectType("BaseObjectType");
90
- node_opcua_assert_1.assert(baseObjectType, "BaseObjectType must be defined in the address space");
91
- const references = [];
92
- const opts = {
93
- browseName: options.browseName,
94
- componentOf: options.componentOf,
95
- description: options.description || this.description,
96
- encodingOf: options.encodingOf,
97
- eventSourceOf: options.eventSourceOf,
98
- notifierOf: options.notifierOf,
99
- organizedBy: options.organizedBy,
100
- references,
101
- typeDefinition: this.nodeId,
102
- nodeId: options.nodeId,
103
- eventNotifier: options.eventNotifier === undefined ? 0 : options.eventNotifier,
104
- modellingRule: options.modellingRule
105
- };
106
- const namespace = this.addressSpace.getOwnNamespace();
107
- const instance = namespace.addObject(opts);
108
- ua_variable_type_1.initialize_properties_and_components(instance, baseObjectType, this, options.optionals);
109
- node_opcua_assert_1.assert(instance.typeDefinition.toString() === this.nodeId.toString());
110
- instance.install_extra_properties();
111
- if (this._postInstantiateFunc) {
112
- this._postInstantiateFunc(instance, this, options);
113
- }
114
- return instance;
115
- }
116
- toString() {
117
- const options = new base_node_private_1.ToStringBuilder();
118
- base_node_private_1.UAObjectType_toString.call(this, options);
119
- return options.toString();
120
- }
121
- }
122
- exports.UAObjectType = UAObjectType;
123
- //# sourceMappingURL=ua_object_type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ua_object_type.js","sourceRoot":"","sources":["../../src/ua_object_type.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * @module node-opcua-address-space
3
- */
4
- import { LocalizedTextOptions } from "node-opcua-data-model";
5
- import { LocalizedText, NodeClass } from "node-opcua-data-model";
6
- import { AttributeIds } from "node-opcua-data-model";
7
- import { DataValue } from "node-opcua-data-value";
8
- import { NodeId } from "node-opcua-nodeid";
9
- import { SessionContext, UAReferenceType as UAReferenceTypePublic } from "../source";
10
- import { BaseNode, InternalBaseNodeOptions } from "./base_node";
11
- import { Reference } from "./reference";
12
- export interface UAReferenceTypeOptions extends InternalBaseNodeOptions {
13
- isAbstract?: boolean;
14
- symmetric?: boolean;
15
- inverseName: null | string | LocalizedTextOptions;
16
- }
17
- export declare class UAReferenceType extends BaseNode implements UAReferenceTypePublic {
18
- readonly nodeClass = NodeClass.ReferenceType;
19
- readonly isAbstract: boolean;
20
- readonly symmetric: boolean;
21
- readonly inverseName: LocalizedText;
22
- get subtypeOfObj(): UAReferenceTypePublic | null;
23
- get subtypeOf(): NodeId | null;
24
- /**
25
- * returns true if self is a super type of baseType
26
- */
27
- isSupertypeOf: (baseType: UAReferenceType) => boolean;
28
- /**
29
- * @private
30
- */
31
- _slow_isSupertypeOf: (baseType: UAReferenceType) => boolean;
32
- constructor(options: UAReferenceTypeOptions);
33
- readAttribute(context: SessionContext | null, attributeId: AttributeIds): DataValue;
34
- toString(): string;
35
- install_extra_properties(): void;
36
- /**
37
- * returns a array of all ReferenceTypes in the addressSpace that are self or a subType of self
38
- * recursively
39
- */
40
- getAllSubtypes(): UAReferenceType[];
41
- checkHasSubtype(ref: Reference | NodeId): boolean;
42
- }
@@ -1,138 +0,0 @@
1
- "use strict";
2
- /**
3
- * @module node-opcua-address-space
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.UAReferenceType = 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_1 = require("./base_node");
16
- const tools = require("./tool_isSupertypeOf");
17
- const tool_isSupertypeOf_1 = require("./tool_isSupertypeOf");
18
- const reference_1 = require("./reference");
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
- 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 = 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 = base_node_private_1.BaseNode_getCache(referenceType);
59
- if (!_cache._subtype_idx || _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 UAReferenceType extends base_node_1.BaseNode {
70
- constructor(options) {
71
- super(options);
72
- this.nodeClass = node_opcua_data_model_2.NodeClass.ReferenceType;
73
- /**
74
- * returns true if self is a super type of baseType
75
- */
76
- this.isSupertypeOf = tools.construct_isSupertypeOf(UAReferenceType);
77
- /**
78
- * @private
79
- */
80
- this._slow_isSupertypeOf = tools.construct_slow_isSupertypeOf(UAReferenceType);
81
- this.isAbstract = options.isAbstract === undefined ? false : !!options.isAbstract;
82
- this.symmetric = options.symmetric === undefined ? false : !!options.symmetric;
83
- // Note: Inverse name is not required anymore in 1.0.4
84
- this.inverseName = node_opcua_data_model_1.coerceLocalizedText(options.inverseName || this.browseName.name);
85
- ReferenceTypeCounter.count += 1;
86
- }
87
- get subtypeOfObj() {
88
- return tool_isSupertypeOf_1.get_subtypeOfObj.call(this);
89
- }
90
- get subtypeOf() {
91
- return tool_isSupertypeOf_1.get_subtypeOf.call(this);
92
- }
93
- readAttribute(context, attributeId) {
94
- node_opcua_assert_1.assert(!context || context instanceof source_1.SessionContext);
95
- const options = {};
96
- switch (attributeId) {
97
- case node_opcua_data_model_3.AttributeIds.IsAbstract:
98
- options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: !!this.isAbstract };
99
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
100
- break;
101
- case node_opcua_data_model_3.AttributeIds.Symmetric:
102
- options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: !!this.symmetric };
103
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
104
- break;
105
- case node_opcua_data_model_3.AttributeIds.InverseName: // LocalizedText
106
- options.value = { dataType: node_opcua_variant_1.DataType.LocalizedText, value: this.inverseName };
107
- options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
108
- break;
109
- default:
110
- return super.readAttribute(context, attributeId);
111
- }
112
- return new node_opcua_data_value_1.DataValue(options);
113
- }
114
- toString() {
115
- let str = "";
116
- str += this.isAbstract ? "A" : " ";
117
- str += this.symmetric ? "S" : " ";
118
- str += " " + this.browseName.toString() + "/" + this.inverseName.text + " ";
119
- str += this.nodeId.toString();
120
- return str;
121
- }
122
- install_extra_properties() { }
123
- /**
124
- * returns a array of all ReferenceTypes in the addressSpace that are self or a subType of self
125
- * recursively
126
- */
127
- getAllSubtypes() {
128
- return _getAllSubtypes(this);
129
- }
130
- checkHasSubtype(ref) {
131
- const _index = _getSubtypeIndex(this);
132
- const referenceTypeNodeId = ref instanceof reference_1.Reference ? ref.nodeId : ref;
133
- const _key = referenceTypeNodeId.toString();
134
- return !!_index[_key];
135
- }
136
- }
137
- exports.UAReferenceType = UAReferenceType;
138
- //# sourceMappingURL=ua_reference_type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ua_reference_type.js","sourceRoot":"","sources":["../../src/ua_reference_type.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH,yDAA2C;AAC3C,iEAAkF;AAClF,iEAAiE;AACjE,iEAAqD;AACrD,iEAAiE;AAEjE,mEAAqD;AACrD,2DAA8C;AAC9C,sCAAqF;AACrF,2CAAgE;AAChE,8CAA8C;AAC9C,6DAAuE;AACvE,2CAAwC;AACxC,2DAE6B;AAG7B,MAAM,oBAAoB,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAG1C,SAAS,wBAAwB,CAAC,aAA8B;IAC5D,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;IAChD,MAAM,sBAAsB,GAA4B,EAAE,CAAC;IAE3D,MAAM,uBAAuB,GAAG,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAE,CAAC;IAE9E,SAAS,eAAe,CAAC,kBAAyC;QAC9D,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChD,0BAAM,CAAC,kBAAkB,CAAC,SAAS,KAAK,iCAAS,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;QACpF,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE;YACzB,MAAM,OAAO,GAA0B,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAE,CAAC;YAClF,eAAe,CAAC,OAAO,CAAC,CAAC;SAC5B;IACL,CAAC;IACD,eAAe,CAAC,aAAa,CAAC,CAAC;IAC/B,OAAO,sBAAsB,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,GAAoB;IAEzC,MAAM,MAAM,GAAG,qCAAiB,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,KAAK,EAAE;QACxF,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;KAC9B;IACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACtB,MAAM,CAAC,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,KAAK,CAAC;KAC3D;IACD,OAAO,MAAM,CAAC,YAAY,CAAC;AAC/B,CAAC;AAED,SAAS,yBAAyB,CAAC,aAA8B;IAC7D,MAAM,sBAAsB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAC9D,4EAA4E;IAC5E,MAAM,IAAI,GAAQ,EAAE,CAAC;IACrB,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE;QAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC;KAC7C;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,aAA8B;IAEpD,MAAM,MAAM,GAAG,qCAAiB,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,YAAY,IAAK,MAAM,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,KAAK,EAAE;QAClF,mCAAmC;QACnC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;KAC9B;IACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACtB,MAAM,CAAC,YAAY,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,KAAK,CAAC;KAC3D;IACD,OAAO,MAAM,CAAC,YAAY,CAAC;AAC/B,CAAC;AAQD,MAAa,eAAgB,SAAQ,oBAAQ;IAwBzC,YAAY,OAA+B;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAxBH,cAAS,GAAG,iCAAS,CAAC,aAAa,CAAC;QAapD;;WAEG;QACI,kBAAa,GAA2C,KAAK,CAAC,uBAAuB,CAAkB,eAAe,CAAC,CAAC;QAE/H;;WAEG;QACI,wBAAmB,GAA2C,KAAK,CAAC,4BAA4B,CAAkB,eAAe,CAAC,CAAC;QAItI,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAClF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC/E,sDAAsD;QACtD,IAAI,CAAC,WAAW,GAAG,2CAAmB,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;QAErF,oBAAoB,CAAC,KAAK,IAAI,CAAC,CAAC;IACpC,CAAC;IA1BD,IAAW,YAAY;QACnB,OAAO,qCAAgB,CAAC,IAAI,CAAC,IAAI,CAAoB,CAAC;IAC1D,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,kCAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAsBM,aAAa,CAAC,OAA8B,EAAE,WAAyB;QAC1E,0BAAM,CAAC,CAAC,OAAO,IAAI,OAAO,YAAY,uBAAc,CAAC,CAAC;QAEtD,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,QAAQ,WAAW,EAAE;YACjB,KAAK,oCAAY,CAAC,UAAU;gBACxB,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzE,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YACV,KAAK,oCAAY,CAAC,SAAS;gBACvB,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxE,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YACV,KAAK,oCAAY,CAAC,WAAW,EAAE,gBAAgB;gBAC3C,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9E,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YACV;gBACI,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,iCAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,QAAQ;QACX,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACnC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAClC,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC;QAC5E,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,wBAAwB,KAAW,CAAC;IAE3C;;;OAGG;IACI,cAAc;QACjB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,eAAe,CAAC,GAAuB;QAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,mBAAmB,GAAG,GAAG,YAAY,qBAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAa,CAAC;QAClF,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAEJ;AAnFD,0CAmFC"}