node-opcua-address-space 2.71.0 → 2.72.2

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 (408) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +34 -34
  8. package/dist/source/helpers/argument_list.js +285 -285
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -17
  12. package/dist/source/helpers/check_event_clause.js +52 -52
  13. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  14. package/dist/source/helpers/coerce_enum_value.js +33 -33
  15. package/dist/source/helpers/dump_tools.d.ts +14 -14
  16. package/dist/source/helpers/dump_tools.js +78 -78
  17. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  18. package/dist/source/helpers/ensure_secure_access.js +76 -76
  19. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  20. package/dist/source/helpers/make_optionals_map.js +29 -29
  21. package/dist/source/helpers/multiform_func.d.ts +11 -11
  22. package/dist/source/helpers/multiform_func.js +73 -73
  23. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  24. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  25. package/dist/source/index.d.ts +40 -40
  26. package/dist/source/index.js +66 -66
  27. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  29. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  30. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  31. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  32. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  33. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  34. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  35. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  36. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  37. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  38. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  39. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  40. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  41. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  42. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  43. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  44. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  45. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  46. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  47. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  48. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  49. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  50. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  51. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  52. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  53. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  54. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  55. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  56. package/dist/source/loader/load_nodeset2.js +1468 -1464
  57. package/dist/source/loader/load_nodeset2.js.map +1 -1
  58. package/dist/source/loader/make_semver_compatible.d.ts +6 -0
  59. package/dist/source/loader/make_semver_compatible.js +26 -0
  60. package/dist/source/loader/make_semver_compatible.js.map +1 -0
  61. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  62. package/dist/source/loader/make_xml_extension_object_parser.js +325 -315
  63. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
  64. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  65. package/dist/source/loader/namespace_post_step.js +47 -47
  66. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  67. package/dist/source/loader/register_node_promoter.js +9 -9
  68. package/dist/source/namespace.d.ts +6 -6
  69. package/dist/source/namespace.js +2 -2
  70. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  71. package/dist/source/namespace_alarm_and_condition.js +2 -2
  72. package/dist/source/namespace_data_access.d.ts +42 -42
  73. package/dist/source/namespace_data_access.js +2 -2
  74. package/dist/source/namespace_machine_state.d.ts +7 -7
  75. package/dist/source/namespace_machine_state.js +2 -2
  76. package/dist/source/pseudo_session.d.ts +55 -55
  77. package/dist/source/pseudo_session.js +203 -203
  78. package/dist/source/session_context.d.ts +111 -111
  79. package/dist/source/session_context.js +265 -265
  80. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  81. package/dist/source/set_namespace_meta_data.js +59 -59
  82. package/dist/source/ua_root_folder.d.ts +9 -9
  83. package/dist/source/ua_root_folder.js +2 -2
  84. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  85. package/dist/source/ua_two_state_variable_ex.js +2 -2
  86. package/dist/source/xml_writer.d.ts +9 -9
  87. package/dist/source/xml_writer.js +2 -2
  88. package/dist/src/address_space.d.ts +392 -392
  89. package/dist/src/address_space.js +1387 -1387
  90. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  91. package/dist/src/address_space_change_event_tools.js +149 -149
  92. package/dist/src/address_space_private.d.ts +43 -43
  93. package/dist/src/address_space_private.js +2 -2
  94. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  95. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  96. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  97. package/dist/src/alarms_and_conditions/condition.js +80 -80
  98. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  99. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  100. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  101. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  102. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  103. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  104. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  105. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  106. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  107. package/dist/src/alarms_and_conditions/index.js +34 -34
  108. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +64 -62
  109. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  110. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  111. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +124 -118
  112. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  113. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  114. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  115. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  116. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +36 -21
  117. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +115 -25
  118. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  119. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +187 -182
  120. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1024 -1022
  121. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  122. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +18 -17
  123. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  124. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  125. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +30 -27
  126. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  127. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  128. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -9
  129. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  130. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  131. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +40 -38
  132. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  133. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  134. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  135. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  136. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +105 -97
  137. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  138. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  139. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +29 -28
  140. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  141. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  142. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +26 -25
  143. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  144. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  145. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +48 -39
  146. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +161 -135
  147. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  148. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +17 -16
  149. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  150. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  151. package/dist/src/apply_condition_refresh.d.ts +6 -6
  152. package/dist/src/apply_condition_refresh.js +27 -27
  153. package/dist/src/base_node_impl.d.ts +281 -281
  154. package/dist/src/base_node_impl.js +1395 -1395
  155. package/dist/src/base_node_private.d.ts +61 -61
  156. package/dist/src/base_node_private.js +705 -705
  157. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  158. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  159. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  160. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  161. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  162. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  163. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  164. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  165. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  166. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  167. package/dist/src/event_data.d.ts +29 -29
  168. package/dist/src/event_data.js +95 -95
  169. package/dist/src/extension_object_array_node.d.ts +61 -61
  170. package/dist/src/extension_object_array_node.js +276 -276
  171. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  172. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  173. package/dist/src/index_current.d.ts +45 -45
  174. package/dist/src/index_current.js +77 -77
  175. package/dist/src/namespace_impl.d.ts +457 -457
  176. package/dist/src/namespace_impl.js +1733 -1733
  177. package/dist/src/namespace_private.d.ts +21 -21
  178. package/dist/src/namespace_private.js +32 -32
  179. package/dist/src/nodeid_manager.d.ts +36 -36
  180. package/dist/src/nodeid_manager.js +197 -197
  181. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  182. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  183. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  184. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  185. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  186. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  187. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  188. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  189. package/dist/src/reference_impl.d.ts +43 -43
  190. package/dist/src/reference_impl.js +139 -139
  191. package/dist/src/role_permissions.d.ts +2 -2
  192. package/dist/src/role_permissions.js +10 -10
  193. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  194. package/dist/src/state_machine/finite_state_machine.js +353 -353
  195. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  196. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  197. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  198. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  199. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  200. package/dist/src/tool_isSupertypeOf.js +108 -108
  201. package/dist/src/ua_condition_type.d.ts +8 -8
  202. package/dist/src/ua_condition_type.js +2 -2
  203. package/dist/src/ua_data_type_impl.d.ts +93 -93
  204. package/dist/src/ua_data_type_impl.js +368 -368
  205. package/dist/src/ua_method_impl.d.ts +41 -41
  206. package/dist/src/ua_method_impl.js +208 -208
  207. package/dist/src/ua_object_impl.d.ts +35 -33
  208. package/dist/src/ua_object_impl.js +162 -156
  209. package/dist/src/ua_object_impl.js.map +1 -1
  210. package/dist/src/ua_object_type_impl.d.ts +48 -48
  211. package/dist/src/ua_object_type_impl.js +124 -124
  212. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  213. package/dist/src/ua_reference_type_impl.js +139 -139
  214. package/dist/src/ua_variable_impl.d.ts +351 -351
  215. package/dist/src/ua_variable_impl.js +1604 -1604
  216. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  217. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  218. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  219. package/dist/src/ua_variable_type_impl.js +570 -570
  220. package/dist/src/ua_view_impl.d.ts +19 -15
  221. package/dist/src/ua_view_impl.js +43 -36
  222. package/dist/src/ua_view_impl.js.map +1 -1
  223. package/distHelpers/add_event_generator_object.d.ts +3 -3
  224. package/distHelpers/add_event_generator_object.js +65 -65
  225. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  226. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  227. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  228. package/distHelpers/assertHasMatchingReference.js +40 -40
  229. package/distHelpers/boiler_system.d.ts +113 -113
  230. package/distHelpers/boiler_system.js +395 -395
  231. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  232. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  233. package/distHelpers/date_utils.d.ts +3 -3
  234. package/distHelpers/date_utils.js +9 -9
  235. package/distHelpers/dump_statemachine.js +127 -127
  236. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  237. package/distHelpers/get_address_space_fixture.js +30 -30
  238. package/distHelpers/get_mini_address_space.d.ts +7 -7
  239. package/distHelpers/get_mini_address_space.js +36 -36
  240. package/distHelpers/index.d.ts +12 -12
  241. package/distHelpers/index.js +28 -28
  242. package/distHelpers/mock_session.d.ts +14 -14
  243. package/distHelpers/mock_session.js +25 -25
  244. package/distNodeJS/generate_address_space.d.ts +4 -4
  245. package/distNodeJS/generate_address_space.js +41 -41
  246. package/distNodeJS/index.d.ts +1 -1
  247. package/distNodeJS/index.js +17 -17
  248. package/package.json +23 -23
  249. package/source/loader/load_nodeset2.ts +21 -17
  250. package/source/loader/make_semver_compatible.ts +23 -0
  251. package/source/loader/make_xml_extension_object_parser.ts +16 -6
  252. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +13 -6
  253. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +15 -10
  254. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +126 -10
  255. package/src/alarms_and_conditions/ua_condition_impl.ts +26 -13
  256. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +10 -4
  257. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +7 -6
  258. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +5 -3
  259. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +7 -6
  260. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +1 -1
  261. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +23 -13
  262. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +6 -7
  263. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +6 -7
  264. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +62 -30
  265. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +5 -5
  266. package/src/ua_object_impl.ts +11 -3
  267. package/src/ua_view_impl.ts +6 -4
  268. package/test_helpers/test_fixtures/dataType_issue.xml +9 -9
  269. package/test_helpers/test_fixtures/nodeset_with_guid.xml +1442 -0
  270. package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +31 -0
  271. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +0 -23
  272. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +0 -3
  273. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +0 -1
  274. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +0 -6
  275. package/dist/source/interfaces/data_access/ua_discrete_item.js +0 -3
  276. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +0 -1
  277. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +0 -25
  278. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +0 -3
  279. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +0 -1
  280. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +0 -27
  281. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +0 -3
  282. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +0 -1
  283. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +0 -17
  284. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +0 -3
  285. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +0 -1
  286. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +0 -19
  287. package/dist/source/interfaces/data_access/ua_y_array_item.js +0 -3
  288. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +0 -1
  289. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +0 -11
  290. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +0 -3
  291. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +0 -1
  292. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +0 -70
  293. package/dist/source/interfaces/state_machine/finite_state_machine.js +0 -3
  294. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +0 -1
  295. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +0 -74
  296. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +0 -3
  297. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +0 -1
  298. package/dist/source/interfaces/state_machine/state_machine.d.ts +0 -342
  299. package/dist/source/interfaces/state_machine/state_machine.js +0 -3
  300. package/dist/source/interfaces/state_machine/state_machine.js.map +0 -1
  301. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +0 -18
  302. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +0 -3
  303. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +0 -1
  304. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +0 -29
  305. package/dist/source/interfaces/state_machine/ua_state_variable.js +0 -3
  306. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +0 -1
  307. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +0 -26
  308. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +0 -3
  309. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +0 -1
  310. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +0 -41
  311. package/dist/source/interfaces/subscription_diagnostics_variable.js +0 -3
  312. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +0 -1
  313. package/dist/src/alarms_and_conditions/base_event_type.d.ts +0 -26
  314. package/dist/src/alarms_and_conditions/base_event_type.js +0 -41
  315. package/dist/src/alarms_and_conditions/base_event_type.js.map +0 -1
  316. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +0 -22
  317. package/dist/src/alarms_and_conditions/shelving_state_machine.js +0 -241
  318. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +0 -1
  319. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +0 -16
  320. package/dist/src/alarms_and_conditions/trip_alarm.js +0 -21
  321. package/dist/src/alarms_and_conditions/trip_alarm.js.map +0 -1
  322. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +0 -54
  323. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +0 -255
  324. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +0 -1
  325. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +0 -138
  326. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +0 -460
  327. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +0 -1
  328. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +0 -35
  329. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +0 -32
  330. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +0 -1
  331. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +0 -191
  332. package/dist/src/alarms_and_conditions/ua_condition_base.js +0 -1029
  333. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +0 -1
  334. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +0 -11
  335. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +0 -58
  336. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +0 -1
  337. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +0 -24
  338. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +0 -59
  339. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +0 -1
  340. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +0 -14
  341. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +0 -17
  342. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +0 -1
  343. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +0 -22
  344. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +0 -87
  345. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +0 -1
  346. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +0 -6
  347. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +0 -11
  348. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +0 -1
  349. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +0 -76
  350. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +0 -237
  351. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +0 -1
  352. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +0 -27
  353. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +0 -62
  354. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +0 -1
  355. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +0 -49
  356. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +0 -176
  357. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +0 -1
  358. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +0 -47
  359. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +0 -151
  360. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +0 -1
  361. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +0 -16
  362. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +0 -18
  363. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +0 -1
  364. package/dist/src/base_node.d.ts +0 -270
  365. package/dist/src/base_node.js +0 -1299
  366. package/dist/src/base_node.js.map +0 -1
  367. package/dist/src/data_access/ua_analog_item.d.ts +0 -13
  368. package/dist/src/data_access/ua_analog_item.js +0 -37
  369. package/dist/src/data_access/ua_analog_item.js.map +0 -1
  370. package/dist/src/data_access/ua_data_item.d.ts +0 -16
  371. package/dist/src/data_access/ua_data_item.js +0 -66
  372. package/dist/src/data_access/ua_data_item.js.map +0 -1
  373. package/dist/src/data_access/ua_multistate_discrete.d.ts +0 -24
  374. package/dist/src/data_access/ua_multistate_discrete.js +0 -132
  375. package/dist/src/data_access/ua_multistate_discrete.js.map +0 -1
  376. package/dist/src/namespace.d.ts +0 -472
  377. package/dist/src/namespace.js +0 -1759
  378. package/dist/src/namespace.js.map +0 -1
  379. package/dist/src/reference.d.ts +0 -43
  380. package/dist/src/reference.js +0 -138
  381. package/dist/src/reference.js.map +0 -1
  382. package/dist/src/session_context.d.ts +0 -4
  383. package/dist/src/session_context.js +0 -9
  384. package/dist/src/session_context.js.map +0 -1
  385. package/dist/src/ua_data_type.d.ts +0 -81
  386. package/dist/src/ua_data_type.js +0 -259
  387. package/dist/src/ua_data_type.js.map +0 -1
  388. package/dist/src/ua_method.d.ts +0 -33
  389. package/dist/src/ua_method.js +0 -194
  390. package/dist/src/ua_method.js.map +0 -1
  391. package/dist/src/ua_object.d.ts +0 -27
  392. package/dist/src/ua_object.js +0 -153
  393. package/dist/src/ua_object.js.map +0 -1
  394. package/dist/src/ua_object_type.d.ts +0 -49
  395. package/dist/src/ua_object_type.js +0 -123
  396. package/dist/src/ua_object_type.js.map +0 -1
  397. package/dist/src/ua_reference_type.d.ts +0 -31
  398. package/dist/src/ua_reference_type.js +0 -108
  399. package/dist/src/ua_reference_type.js.map +0 -1
  400. package/dist/src/ua_variable.d.ts +0 -346
  401. package/dist/src/ua_variable.js +0 -1651
  402. package/dist/src/ua_variable.js.map +0 -1
  403. package/dist/src/ua_variable_type.d.ts +0 -57
  404. package/dist/src/ua_variable_type.js +0 -530
  405. package/dist/src/ua_variable_type.js.map +0 -1
  406. package/dist/src/ua_view.d.ts +0 -16
  407. package/dist/src/ua_view.js +0 -41
  408. package/dist/src/ua_view.js.map +0 -1
@@ -1,51 +1,51 @@
1
- import { DataType, Variant } from "node-opcua-variant";
2
- import { Int64 } from "node-opcua-basic-types";
3
- import { LocalizedText, QualifiedNameLike } from "node-opcua-data-model";
4
- import { DataValueT } from "node-opcua-data-value";
5
- import { StatusCode } from "node-opcua-status-code";
6
- import { NumericRange } from "node-opcua-numeric-range";
7
- import { DTEnumValue } from "node-opcua-nodeset-ua";
8
- import { INamespace, UAVariable, UAProperty, ISessionContext } from "node-opcua-address-space-base";
9
- import { UAMultiStateValueDiscreteEx } from "../../source/interfaces/data_access/ua_multistate_value_discrete_ex";
10
- import { AddMultiStateValueDiscreteOptions } from "../../source/address_space_ts";
11
- import { UAVariableImpl } from "../ua_variable_impl";
12
- export interface UAMultiStateValueDiscreteImpl<T, DT extends DataType> {
13
- enumValues: UAProperty<DTEnumValue[], DataType.ExtensionObject>;
14
- valueAsText: UAProperty<LocalizedText, DataType.LocalizedText>;
15
- readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT<T, DT>;
16
- readValueAsync(context: ISessionContext | null, callback?: any): any;
17
- }
18
- export declare class UAMultiStateValueDiscreteImpl<T, DT extends DataType> extends UAVariableImpl implements UAMultiStateValueDiscreteEx<T, DT> {
19
- setValue(value: string | number | Int64): void;
20
- getValueAsString(): string;
21
- getValueAsNumber(): number;
22
- checkVariantCompatibility(value: Variant): StatusCode;
23
- clone<T, DT extends DataType>(options1: any, optionalFilter: any, extraInfo: any): UAMultiStateValueDiscreteImpl<T, DT>;
24
- /**
25
- * @private
26
- */
27
- _isValueInRange(value: number): boolean;
28
- /**
29
- *
30
- * @private
31
- */
32
- _enumValueIndex(): any;
33
- /**
34
- *
35
- * @private
36
- */
37
- _setValue(value: Int64): void;
38
- /**
39
- *
40
- * @private
41
- */
42
- findValueAsText(value?: number | Int64): Variant;
43
- _getDataType(): DataType;
44
- /**
45
- *
46
- * @private
47
- */
48
- _post_initialize(): void;
49
- }
50
- export declare function promoteToMultiStateValueDiscrete<T, DT extends DataType>(node: UAVariable): UAMultiStateValueDiscreteImpl<T, DT>;
51
- export declare function _addMultiStateValueDiscrete<T, DT extends DataType>(namespace: INamespace, options: AddMultiStateValueDiscreteOptions): UAMultiStateValueDiscreteEx<T, DT>;
1
+ import { DataType, Variant } from "node-opcua-variant";
2
+ import { Int64 } from "node-opcua-basic-types";
3
+ import { LocalizedText, QualifiedNameLike } from "node-opcua-data-model";
4
+ import { DataValueT } from "node-opcua-data-value";
5
+ import { StatusCode } from "node-opcua-status-code";
6
+ import { NumericRange } from "node-opcua-numeric-range";
7
+ import { DTEnumValue } from "node-opcua-nodeset-ua";
8
+ import { INamespace, UAVariable, UAProperty, ISessionContext } from "node-opcua-address-space-base";
9
+ import { UAMultiStateValueDiscreteEx } from "../../source/interfaces/data_access/ua_multistate_value_discrete_ex";
10
+ import { AddMultiStateValueDiscreteOptions } from "../../source/address_space_ts";
11
+ import { UAVariableImpl } from "../ua_variable_impl";
12
+ export interface UAMultiStateValueDiscreteImpl<T, DT extends DataType> {
13
+ enumValues: UAProperty<DTEnumValue[], DataType.ExtensionObject>;
14
+ valueAsText: UAProperty<LocalizedText, DataType.LocalizedText>;
15
+ readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT<T, DT>;
16
+ readValueAsync(context: ISessionContext | null, callback?: any): any;
17
+ }
18
+ export declare class UAMultiStateValueDiscreteImpl<T, DT extends DataType> extends UAVariableImpl implements UAMultiStateValueDiscreteEx<T, DT> {
19
+ setValue(value: string | number | Int64): void;
20
+ getValueAsString(): string;
21
+ getValueAsNumber(): number;
22
+ checkVariantCompatibility(value: Variant): StatusCode;
23
+ clone<T, DT extends DataType>(options1: any, optionalFilter: any, extraInfo: any): UAMultiStateValueDiscreteImpl<T, DT>;
24
+ /**
25
+ * @private
26
+ */
27
+ _isValueInRange(value: number): boolean;
28
+ /**
29
+ *
30
+ * @private
31
+ */
32
+ _enumValueIndex(): any;
33
+ /**
34
+ *
35
+ * @private
36
+ */
37
+ _setValue(value: Int64): void;
38
+ /**
39
+ *
40
+ * @private
41
+ */
42
+ findValueAsText(value?: number | Int64): Variant;
43
+ _getDataType(): DataType;
44
+ /**
45
+ *
46
+ * @private
47
+ */
48
+ _post_initialize(): void;
49
+ }
50
+ export declare function promoteToMultiStateValueDiscrete<T, DT extends DataType>(node: UAVariable): UAMultiStateValueDiscreteImpl<T, DT>;
51
+ export declare function _addMultiStateValueDiscrete<T, DT extends DataType>(namespace: INamespace, options: AddMultiStateValueDiscreteOptions): UAMultiStateValueDiscreteEx<T, DT>;
@@ -1,250 +1,250 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._addMultiStateValueDiscrete = exports.promoteToMultiStateValueDiscrete = exports.UAMultiStateValueDiscreteImpl = void 0;
4
- /**
5
- * @module node-opcua-address-space.DataAccess
6
- */
7
- const node_opcua_assert_1 = require("node-opcua-assert");
8
- const node_opcua_variant_1 = require("node-opcua-variant");
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_status_code_1 = require("node-opcua-status-code");
12
- const node_opcua_constants_1 = require("node-opcua-constants");
13
- const register_node_promoter_1 = require("../../source/loader/register_node_promoter");
14
- const coerce_enum_value_1 = require("../../source/helpers/coerce_enum_value");
15
- const ua_variable_impl_1 = require("../ua_variable_impl");
16
- const add_dataItem_stuff_1 = require("./add_dataItem_stuff");
17
- function install_synchronization(variable) {
18
- const _variable = variable;
19
- _variable.on("value_changed", (value) => {
20
- const valueAsTextNode = variable.valueAsText || _variable.getComponentByName("ValueAsText");
21
- if (!valueAsTextNode) {
22
- return;
23
- }
24
- const valueAsText1 = _variable.findValueAsText(value.value.value);
25
- valueAsTextNode.setValueFromSource(valueAsText1);
26
- });
27
- _variable.emit("value_changed", _variable.readValue());
28
- }
29
- class UAMultiStateValueDiscreteImpl extends ua_variable_impl_1.UAVariableImpl {
30
- setValue(value) {
31
- if (typeof value === "string") {
32
- const enumValues = this.enumValues.readValue().value.value;
33
- const selected = enumValues.filter((a) => a.displayName.text === value)[0];
34
- if (selected) {
35
- this._setValue(selected.value);
36
- }
37
- else {
38
- throw new Error("cannot find enum string " + value + " in " + enumValues.toString());
39
- }
40
- }
41
- else {
42
- this._setValue((0, node_opcua_basic_types_1.coerceUInt64)(value));
43
- }
44
- }
45
- getValueAsString() {
46
- return this.valueAsText.readValue().value.value.text || "";
47
- }
48
- getValueAsNumber() {
49
- return this.readValue().value.value;
50
- }
51
- checkVariantCompatibility(value) {
52
- if (this.enumValues) {
53
- if (!this._isValueInRange((0, node_opcua_basic_types_1.coerceInt32)(value.value))) {
54
- return node_opcua_status_code_1.StatusCodes.BadOutOfRange;
55
- }
56
- }
57
- return node_opcua_status_code_1.StatusCodes.Good;
58
- }
59
- clone(options1, optionalFilter, extraInfo) {
60
- const variable1 = ua_variable_impl_1.UAVariableImpl.prototype.clone.call(this, options1, optionalFilter, extraInfo);
61
- return promoteToMultiStateValueDiscrete(variable1);
62
- }
63
- /**
64
- * @private
65
- */
66
- _isValueInRange(value) {
67
- // MultiStateValueDiscreteType
68
- const enumValues = this.enumValues.readValue().value.value;
69
- const e = enumValues.findIndex((x) => (0, node_opcua_basic_types_1.coerceInt32)(x.value) === value);
70
- return !(e === -1);
71
- }
72
- /**
73
- *
74
- * @private
75
- */
76
- _enumValueIndex() {
77
- // construct an index to quickly find a EnumValue from a value
78
- const enumValues = this.enumValues.readValue().value.value;
79
- const enumValueIndex = {};
80
- if (!enumValues || !enumValues.forEach) {
81
- return enumValueIndex;
82
- }
83
- enumValues.forEach((e) => {
84
- enumValueIndex[e.value[1]] = e;
85
- });
86
- return enumValueIndex;
87
- }
88
- /**
89
- *
90
- * @private
91
- */
92
- _setValue(value) {
93
- // check that value is in bound
94
- if (!this._isValueInRange((0, node_opcua_basic_types_1.coerceInt32)(value))) {
95
- throw new Error("UAMultiStateValueDiscrete#_setValue out of range " + value);
96
- }
97
- const dataType = this._getDataType();
98
- if (dataType === node_opcua_variant_1.DataType.Int64 || dataType === node_opcua_variant_1.DataType.UInt64) {
99
- this.setValueFromSource({ dataType, value });
100
- }
101
- else {
102
- const valueN = value[1];
103
- this.setValueFromSource({ dataType, value: valueN });
104
- }
105
- }
106
- /**
107
- *
108
- * @private
109
- */
110
- findValueAsText(value) {
111
- const enumValueIndex = this._enumValueIndex();
112
- if (value === undefined) {
113
- throw new Error("Unexpected undefined value");
114
- }
115
- if (value instanceof Array) {
116
- value = value[1];
117
- }
118
- (0, node_opcua_assert_1.assert)(!(value instanceof node_opcua_variant_1.Variant));
119
- let valueAsText1 = "Invalid";
120
- if (enumValueIndex[value]) {
121
- valueAsText1 = enumValueIndex[value].displayName;
122
- }
123
- const result = new node_opcua_variant_1.Variant({
124
- dataType: node_opcua_variant_1.DataType.LocalizedText,
125
- value: (0, node_opcua_data_model_1.coerceLocalizedText)(valueAsText1)
126
- });
127
- return result;
128
- }
129
- _getDataType() {
130
- if (this.dataType.value === 26 /* Number */) {
131
- return node_opcua_variant_1.DataType.UInt32;
132
- }
133
- const dataTypeStr = node_opcua_variant_1.DataType[this.dataType.value];
134
- return node_opcua_variant_1.DataType[dataTypeStr];
135
- }
136
- /**
137
- *
138
- * @private
139
- */
140
- _post_initialize() {
141
- // MultiStateValueDiscrete Variables can have any numeric Data Type;
142
- // this includes signed and unsigned integers from 8 to 64 Bit length.
143
- // istanbul ignore next
144
- if (typeof this.dataType.value !== "number" ||
145
- [
146
- node_opcua_variant_1.DataType.UInt64,
147
- node_opcua_variant_1.DataType.Int64,
148
- node_opcua_variant_1.DataType.UInt32,
149
- node_opcua_variant_1.DataType.Int32,
150
- node_opcua_variant_1.DataType.UInt16,
151
- node_opcua_variant_1.DataType.Int16,
152
- node_opcua_variant_1.DataType.Byte,
153
- node_opcua_variant_1.DataType.Byte,
154
- node_opcua_variant_1.DataType.SByte,
155
- 26 /*Number*/
156
- ].indexOf(this.dataType.value) <= 0) {
157
- throw new Error("Invalid DataType in UAMultiStateValueDiscrete =>" + this.dataType.toString());
158
- }
159
- // find the enum value type
160
- install_synchronization(this);
161
- }
162
- }
163
- exports.UAMultiStateValueDiscreteImpl = UAMultiStateValueDiscreteImpl;
164
- function promoteToMultiStateValueDiscrete(node) {
165
- if (node instanceof UAMultiStateValueDiscreteImpl) {
166
- return node; // already promoted
167
- }
168
- Object.setPrototypeOf(node, UAMultiStateValueDiscreteImpl.prototype);
169
- (0, node_opcua_assert_1.assert)(node instanceof UAMultiStateValueDiscreteImpl, "should now be a State Machine");
170
- node._post_initialize();
171
- return node;
172
- }
173
- exports.promoteToMultiStateValueDiscrete = promoteToMultiStateValueDiscrete;
174
- (0, register_node_promoter_1.registerNodePromoter)(node_opcua_constants_1.VariableTypeIds.MultiStateValueDiscreteType, promoteToMultiStateValueDiscrete);
175
- function _addMultiStateValueDiscrete(namespace, options) {
176
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "enumValues"));
177
- (0, node_opcua_assert_1.assert)(!Object.prototype.hasOwnProperty.call(options, "ValuePrecision"));
178
- const addressSpace = namespace.addressSpace;
179
- const multiStateValueDiscreteType = addressSpace.findVariableType("MultiStateValueDiscreteType");
180
- if (!multiStateValueDiscreteType) {
181
- throw new Error("expecting MultiStateValueDiscreteType to be defined , check nodeset xml file");
182
- }
183
- // todo : if options.typeDefinition is specified, check that type is SubTypeOf MultiStateDiscreteType
184
- // EnumValueType
185
- // value: Int64, displayName: LocalizedText, Description: LocalizedText
186
- const enumValues = (0, coerce_enum_value_1.coerceEnumValues)(options.enumValues);
187
- if (options.value === undefined && enumValues[0]) {
188
- options.value = enumValues[0].value; // Int64
189
- }
190
- let value;
191
- if (typeof options.value === "number" || (0, node_opcua_basic_types_1.isValidUInt64)(options.value)) {
192
- if ((0, node_opcua_basic_types_1.isValidUInt64)(options.value)) {
193
- value = new node_opcua_variant_1.Variant({
194
- dataType: node_opcua_variant_1.DataType.UInt32,
195
- value: options.value[1] // Low word
196
- });
197
- }
198
- else {
199
- value = new node_opcua_variant_1.Variant({
200
- dataType: node_opcua_variant_1.DataType.UInt32,
201
- value: options.value
202
- });
203
- }
204
- }
205
- else {
206
- value = options.value;
207
- }
208
- const cloned_options = Object.assign(Object.assign({}, options), { dataType: node_opcua_variant_1.DataType.UInt32, typeDefinition: multiStateValueDiscreteType.nodeId,
209
- // valueRank:
210
- // note : OPCUA Spec 1.03 specifies -1:Scalar (part 8 page 8) but nodeset file specifies -2:Any
211
- value, valueRank: -1 // -1 : Scalar
212
- });
213
- const variable = namespace.addVariable(cloned_options);
214
- (0, add_dataItem_stuff_1.add_dataItem_stuff)(variable, options);
215
- namespace.addVariable({
216
- accessLevel: "CurrentRead",
217
- browseName: { name: "EnumValues", namespaceIndex: 0 },
218
- dataType: "EnumValueType",
219
- valueRank: 1,
220
- minimumSamplingInterval: 0,
221
- modellingRule: options.modellingRule ? "Mandatory" : undefined,
222
- propertyOf: variable,
223
- typeDefinition: "PropertyType",
224
- userAccessLevel: "CurrentRead",
225
- value: new node_opcua_variant_1.Variant({
226
- arrayType: node_opcua_variant_1.VariantArrayType.Array,
227
- dataType: node_opcua_variant_1.DataType.ExtensionObject,
228
- value: enumValues
229
- })
230
- });
231
- namespace.addVariable({
232
- accessLevel: "CurrentRead",
233
- browseName: { name: "ValueAsText", namespaceIndex: 0 },
234
- dataType: node_opcua_variant_1.DataType.LocalizedText,
235
- minimumSamplingInterval: 0,
236
- modellingRule: options.modellingRule ? "Mandatory" : undefined,
237
- propertyOf: variable,
238
- typeDefinition: "PropertyType",
239
- userAccessLevel: "CurrentRead"
240
- // value: valueAsText
241
- });
242
- // install additional helpers methods
243
- variable.install_extra_properties();
244
- promoteToMultiStateValueDiscrete(variable);
245
- (0, node_opcua_assert_1.assert)(variable.enumValues.browseName.toString() === "EnumValues");
246
- (0, node_opcua_assert_1.assert)(variable.valueAsText.browseName.toString() === "ValueAsText");
247
- return variable;
248
- }
249
- exports._addMultiStateValueDiscrete = _addMultiStateValueDiscrete;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._addMultiStateValueDiscrete = exports.promoteToMultiStateValueDiscrete = exports.UAMultiStateValueDiscreteImpl = void 0;
4
+ /**
5
+ * @module node-opcua-address-space.DataAccess
6
+ */
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const node_opcua_variant_1 = require("node-opcua-variant");
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_status_code_1 = require("node-opcua-status-code");
12
+ const node_opcua_constants_1 = require("node-opcua-constants");
13
+ const register_node_promoter_1 = require("../../source/loader/register_node_promoter");
14
+ const coerce_enum_value_1 = require("../../source/helpers/coerce_enum_value");
15
+ const ua_variable_impl_1 = require("../ua_variable_impl");
16
+ const add_dataItem_stuff_1 = require("./add_dataItem_stuff");
17
+ function install_synchronization(variable) {
18
+ const _variable = variable;
19
+ _variable.on("value_changed", (value) => {
20
+ const valueAsTextNode = variable.valueAsText || _variable.getComponentByName("ValueAsText");
21
+ if (!valueAsTextNode) {
22
+ return;
23
+ }
24
+ const valueAsText1 = _variable.findValueAsText(value.value.value);
25
+ valueAsTextNode.setValueFromSource(valueAsText1);
26
+ });
27
+ _variable.emit("value_changed", _variable.readValue());
28
+ }
29
+ class UAMultiStateValueDiscreteImpl extends ua_variable_impl_1.UAVariableImpl {
30
+ setValue(value) {
31
+ if (typeof value === "string") {
32
+ const enumValues = this.enumValues.readValue().value.value;
33
+ const selected = enumValues.filter((a) => a.displayName.text === value)[0];
34
+ if (selected) {
35
+ this._setValue(selected.value);
36
+ }
37
+ else {
38
+ throw new Error("cannot find enum string " + value + " in " + enumValues.toString());
39
+ }
40
+ }
41
+ else {
42
+ this._setValue((0, node_opcua_basic_types_1.coerceUInt64)(value));
43
+ }
44
+ }
45
+ getValueAsString() {
46
+ return this.valueAsText.readValue().value.value.text || "";
47
+ }
48
+ getValueAsNumber() {
49
+ return this.readValue().value.value;
50
+ }
51
+ checkVariantCompatibility(value) {
52
+ if (this.enumValues) {
53
+ if (!this._isValueInRange((0, node_opcua_basic_types_1.coerceInt32)(value.value))) {
54
+ return node_opcua_status_code_1.StatusCodes.BadOutOfRange;
55
+ }
56
+ }
57
+ return node_opcua_status_code_1.StatusCodes.Good;
58
+ }
59
+ clone(options1, optionalFilter, extraInfo) {
60
+ const variable1 = ua_variable_impl_1.UAVariableImpl.prototype.clone.call(this, options1, optionalFilter, extraInfo);
61
+ return promoteToMultiStateValueDiscrete(variable1);
62
+ }
63
+ /**
64
+ * @private
65
+ */
66
+ _isValueInRange(value) {
67
+ // MultiStateValueDiscreteType
68
+ const enumValues = this.enumValues.readValue().value.value;
69
+ const e = enumValues.findIndex((x) => (0, node_opcua_basic_types_1.coerceInt32)(x.value) === value);
70
+ return !(e === -1);
71
+ }
72
+ /**
73
+ *
74
+ * @private
75
+ */
76
+ _enumValueIndex() {
77
+ // construct an index to quickly find a EnumValue from a value
78
+ const enumValues = this.enumValues.readValue().value.value;
79
+ const enumValueIndex = {};
80
+ if (!enumValues || !enumValues.forEach) {
81
+ return enumValueIndex;
82
+ }
83
+ enumValues.forEach((e) => {
84
+ enumValueIndex[e.value[1]] = e;
85
+ });
86
+ return enumValueIndex;
87
+ }
88
+ /**
89
+ *
90
+ * @private
91
+ */
92
+ _setValue(value) {
93
+ // check that value is in bound
94
+ if (!this._isValueInRange((0, node_opcua_basic_types_1.coerceInt32)(value))) {
95
+ throw new Error("UAMultiStateValueDiscrete#_setValue out of range " + value);
96
+ }
97
+ const dataType = this._getDataType();
98
+ if (dataType === node_opcua_variant_1.DataType.Int64 || dataType === node_opcua_variant_1.DataType.UInt64) {
99
+ this.setValueFromSource({ dataType, value });
100
+ }
101
+ else {
102
+ const valueN = value[1];
103
+ this.setValueFromSource({ dataType, value: valueN });
104
+ }
105
+ }
106
+ /**
107
+ *
108
+ * @private
109
+ */
110
+ findValueAsText(value) {
111
+ const enumValueIndex = this._enumValueIndex();
112
+ if (value === undefined) {
113
+ throw new Error("Unexpected undefined value");
114
+ }
115
+ if (value instanceof Array) {
116
+ value = value[1];
117
+ }
118
+ (0, node_opcua_assert_1.assert)(!(value instanceof node_opcua_variant_1.Variant));
119
+ let valueAsText1 = "Invalid";
120
+ if (enumValueIndex[value]) {
121
+ valueAsText1 = enumValueIndex[value].displayName;
122
+ }
123
+ const result = new node_opcua_variant_1.Variant({
124
+ dataType: node_opcua_variant_1.DataType.LocalizedText,
125
+ value: (0, node_opcua_data_model_1.coerceLocalizedText)(valueAsText1)
126
+ });
127
+ return result;
128
+ }
129
+ _getDataType() {
130
+ if (this.dataType.value === 26 /* Number */) {
131
+ return node_opcua_variant_1.DataType.UInt32;
132
+ }
133
+ const dataTypeStr = node_opcua_variant_1.DataType[this.dataType.value];
134
+ return node_opcua_variant_1.DataType[dataTypeStr];
135
+ }
136
+ /**
137
+ *
138
+ * @private
139
+ */
140
+ _post_initialize() {
141
+ // MultiStateValueDiscrete Variables can have any numeric Data Type;
142
+ // this includes signed and unsigned integers from 8 to 64 Bit length.
143
+ // istanbul ignore next
144
+ if (typeof this.dataType.value !== "number" ||
145
+ [
146
+ node_opcua_variant_1.DataType.UInt64,
147
+ node_opcua_variant_1.DataType.Int64,
148
+ node_opcua_variant_1.DataType.UInt32,
149
+ node_opcua_variant_1.DataType.Int32,
150
+ node_opcua_variant_1.DataType.UInt16,
151
+ node_opcua_variant_1.DataType.Int16,
152
+ node_opcua_variant_1.DataType.Byte,
153
+ node_opcua_variant_1.DataType.Byte,
154
+ node_opcua_variant_1.DataType.SByte,
155
+ 26 /*Number*/
156
+ ].indexOf(this.dataType.value) <= 0) {
157
+ throw new Error("Invalid DataType in UAMultiStateValueDiscrete =>" + this.dataType.toString());
158
+ }
159
+ // find the enum value type
160
+ install_synchronization(this);
161
+ }
162
+ }
163
+ exports.UAMultiStateValueDiscreteImpl = UAMultiStateValueDiscreteImpl;
164
+ function promoteToMultiStateValueDiscrete(node) {
165
+ if (node instanceof UAMultiStateValueDiscreteImpl) {
166
+ return node; // already promoted
167
+ }
168
+ Object.setPrototypeOf(node, UAMultiStateValueDiscreteImpl.prototype);
169
+ (0, node_opcua_assert_1.assert)(node instanceof UAMultiStateValueDiscreteImpl, "should now be a State Machine");
170
+ node._post_initialize();
171
+ return node;
172
+ }
173
+ exports.promoteToMultiStateValueDiscrete = promoteToMultiStateValueDiscrete;
174
+ (0, register_node_promoter_1.registerNodePromoter)(node_opcua_constants_1.VariableTypeIds.MultiStateValueDiscreteType, promoteToMultiStateValueDiscrete);
175
+ function _addMultiStateValueDiscrete(namespace, options) {
176
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "enumValues"));
177
+ (0, node_opcua_assert_1.assert)(!Object.prototype.hasOwnProperty.call(options, "ValuePrecision"));
178
+ const addressSpace = namespace.addressSpace;
179
+ const multiStateValueDiscreteType = addressSpace.findVariableType("MultiStateValueDiscreteType");
180
+ if (!multiStateValueDiscreteType) {
181
+ throw new Error("expecting MultiStateValueDiscreteType to be defined , check nodeset xml file");
182
+ }
183
+ // todo : if options.typeDefinition is specified, check that type is SubTypeOf MultiStateDiscreteType
184
+ // EnumValueType
185
+ // value: Int64, displayName: LocalizedText, Description: LocalizedText
186
+ const enumValues = (0, coerce_enum_value_1.coerceEnumValues)(options.enumValues);
187
+ if (options.value === undefined && enumValues[0]) {
188
+ options.value = enumValues[0].value; // Int64
189
+ }
190
+ let value;
191
+ if (typeof options.value === "number" || (0, node_opcua_basic_types_1.isValidUInt64)(options.value)) {
192
+ if ((0, node_opcua_basic_types_1.isValidUInt64)(options.value)) {
193
+ value = new node_opcua_variant_1.Variant({
194
+ dataType: node_opcua_variant_1.DataType.UInt32,
195
+ value: options.value[1] // Low word
196
+ });
197
+ }
198
+ else {
199
+ value = new node_opcua_variant_1.Variant({
200
+ dataType: node_opcua_variant_1.DataType.UInt32,
201
+ value: options.value
202
+ });
203
+ }
204
+ }
205
+ else {
206
+ value = options.value;
207
+ }
208
+ const cloned_options = Object.assign(Object.assign({}, options), { dataType: node_opcua_variant_1.DataType.UInt32, typeDefinition: multiStateValueDiscreteType.nodeId,
209
+ // valueRank:
210
+ // note : OPCUA Spec 1.03 specifies -1:Scalar (part 8 page 8) but nodeset file specifies -2:Any
211
+ value, valueRank: -1 // -1 : Scalar
212
+ });
213
+ const variable = namespace.addVariable(cloned_options);
214
+ (0, add_dataItem_stuff_1.add_dataItem_stuff)(variable, options);
215
+ namespace.addVariable({
216
+ accessLevel: "CurrentRead",
217
+ browseName: { name: "EnumValues", namespaceIndex: 0 },
218
+ dataType: "EnumValueType",
219
+ valueRank: 1,
220
+ minimumSamplingInterval: 0,
221
+ modellingRule: options.modellingRule ? "Mandatory" : undefined,
222
+ propertyOf: variable,
223
+ typeDefinition: "PropertyType",
224
+ userAccessLevel: "CurrentRead",
225
+ value: new node_opcua_variant_1.Variant({
226
+ arrayType: node_opcua_variant_1.VariantArrayType.Array,
227
+ dataType: node_opcua_variant_1.DataType.ExtensionObject,
228
+ value: enumValues
229
+ })
230
+ });
231
+ namespace.addVariable({
232
+ accessLevel: "CurrentRead",
233
+ browseName: { name: "ValueAsText", namespaceIndex: 0 },
234
+ dataType: node_opcua_variant_1.DataType.LocalizedText,
235
+ minimumSamplingInterval: 0,
236
+ modellingRule: options.modellingRule ? "Mandatory" : undefined,
237
+ propertyOf: variable,
238
+ typeDefinition: "PropertyType",
239
+ userAccessLevel: "CurrentRead"
240
+ // value: valueAsText
241
+ });
242
+ // install additional helpers methods
243
+ variable.install_extra_properties();
244
+ promoteToMultiStateValueDiscrete(variable);
245
+ (0, node_opcua_assert_1.assert)(variable.enumValues.browseName.toString() === "EnumValues");
246
+ (0, node_opcua_assert_1.assert)(variable.valueAsText.browseName.toString() === "ValueAsText");
247
+ return variable;
248
+ }
249
+ exports._addMultiStateValueDiscrete = _addMultiStateValueDiscrete;
250
250
  //# sourceMappingURL=ua_multistate_value_discrete.js.map
@@ -1,25 +1,25 @@
1
- import { LocalizedText, LocalizedTextLike, QualifiedNameLike } from "node-opcua-data-model";
2
- import { DataType } from "node-opcua-variant";
3
- import { INamespace, UAVariable, UAProperty, ISessionContext } from "node-opcua-address-space-base";
4
- import { DataValueT } from "node-opcua-data-value";
5
- import { NumericRange } from "node-opcua-numeric-range";
6
- import { UAVariableImpl } from "../ua_variable_impl";
7
- import { AddTwoStateDiscreteOptions } from "../../source/address_space_ts";
8
- import { UATwoStateDiscreteEx } from "../../source/interfaces/data_access/ua_two_state_discrete_ex";
9
- export interface UATwoStateDiscreteImpl {
10
- falseState: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
11
- trueState: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
12
- readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT<boolean, DataType.Boolean>;
13
- readValueAsync(context: ISessionContext | null, callback?: any): any;
14
- }
15
- export declare class UATwoStateDiscreteImpl extends UAVariableImpl implements UATwoStateDiscreteEx {
16
- _post_initialize(): void;
17
- setValue(value: boolean | LocalizedTextLike): void;
18
- getValue(): boolean;
19
- getValueAsString(): string;
20
- getTrueStateAsString(): string;
21
- getFalseStateAsString(): string;
22
- clone(options1: any, optionalFilter: any, extraInfo: any): UAVariable;
23
- }
24
- export declare function promoteToTwoStateDiscrete(node: UAVariable): UATwoStateDiscreteEx;
25
- export declare function _addTwoStateDiscrete(namespace: INamespace, options: AddTwoStateDiscreteOptions): UATwoStateDiscreteEx;
1
+ import { LocalizedText, LocalizedTextLike, QualifiedNameLike } from "node-opcua-data-model";
2
+ import { DataType } from "node-opcua-variant";
3
+ import { INamespace, UAVariable, UAProperty, ISessionContext } from "node-opcua-address-space-base";
4
+ import { DataValueT } from "node-opcua-data-value";
5
+ import { NumericRange } from "node-opcua-numeric-range";
6
+ import { UAVariableImpl } from "../ua_variable_impl";
7
+ import { AddTwoStateDiscreteOptions } from "../../source/address_space_ts";
8
+ import { UATwoStateDiscreteEx } from "../../source/interfaces/data_access/ua_two_state_discrete_ex";
9
+ export interface UATwoStateDiscreteImpl {
10
+ falseState: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
11
+ trueState: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
12
+ readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT<boolean, DataType.Boolean>;
13
+ readValueAsync(context: ISessionContext | null, callback?: any): any;
14
+ }
15
+ export declare class UATwoStateDiscreteImpl extends UAVariableImpl implements UATwoStateDiscreteEx {
16
+ _post_initialize(): void;
17
+ setValue(value: boolean | LocalizedTextLike): void;
18
+ getValue(): boolean;
19
+ getValueAsString(): string;
20
+ getTrueStateAsString(): string;
21
+ getFalseStateAsString(): string;
22
+ clone(options1: any, optionalFilter: any, extraInfo: any): UAVariable;
23
+ }
24
+ export declare function promoteToTwoStateDiscrete(node: UAVariable): UATwoStateDiscreteEx;
25
+ export declare function _addTwoStateDiscrete(namespace: INamespace, options: AddTwoStateDiscreteOptions): UATwoStateDiscreteEx;