node-opcua-address-space 2.97.0 → 2.98.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/package.json +37 -37
  2. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +4 -3
  3. package/src/alarms_and_conditions/ua_condition_impl.ts +14 -9
  4. package/src/base_node_private.ts +73 -28
  5. package/src/ua_variable_type_impl.ts +35 -17
  6. package/dist/source/address_space_ts.d.ts +0 -118
  7. package/dist/source/address_space_ts.js +0 -18
  8. package/dist/source/address_space_ts.js.map +0 -1
  9. package/dist/source/continuation_points/continuation_point_manager.d.ts +0 -91
  10. package/dist/source/continuation_points/continuation_point_manager.js +0 -201
  11. package/dist/source/continuation_points/continuation_point_manager.js.map +0 -1
  12. package/dist/source/helpers/adjust_browse_direction.d.ts +0 -5
  13. package/dist/source/helpers/adjust_browse_direction.js +0 -12
  14. package/dist/source/helpers/adjust_browse_direction.js.map +0 -1
  15. package/dist/source/helpers/argument_list.d.ts +0 -33
  16. package/dist/source/helpers/argument_list.js +0 -255
  17. package/dist/source/helpers/argument_list.js.map +0 -1
  18. package/dist/source/helpers/call_helpers.d.ts +0 -6
  19. package/dist/source/helpers/call_helpers.js +0 -72
  20. package/dist/source/helpers/call_helpers.js.map +0 -1
  21. package/dist/source/helpers/coerce_enum_value.d.ts +0 -6
  22. package/dist/source/helpers/coerce_enum_value.js +0 -34
  23. package/dist/source/helpers/coerce_enum_value.js.map +0 -1
  24. package/dist/source/helpers/dump_tools.d.ts +0 -14
  25. package/dist/source/helpers/dump_tools.js +0 -79
  26. package/dist/source/helpers/dump_tools.js.map +0 -1
  27. package/dist/source/helpers/ensure_secure_access.d.ts +0 -9
  28. package/dist/source/helpers/ensure_secure_access.js +0 -77
  29. package/dist/source/helpers/ensure_secure_access.js.map +0 -1
  30. package/dist/source/helpers/make_optionals_map.d.ts +0 -21
  31. package/dist/source/helpers/make_optionals_map.js +0 -30
  32. package/dist/source/helpers/make_optionals_map.js.map +0 -1
  33. package/dist/source/helpers/multiform_func.d.ts +0 -11
  34. package/dist/source/helpers/multiform_func.js +0 -76
  35. package/dist/source/helpers/multiform_func.js.map +0 -1
  36. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +0 -3
  37. package/dist/source/helpers/resolve_opaque_on_address_space.js +0 -37
  38. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +0 -1
  39. package/dist/source/index.d.ts +0 -61
  40. package/dist/source/index.js +0 -90
  41. package/dist/source/index.js.map +0 -1
  42. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +0 -19
  43. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +0 -3
  44. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +0 -1
  45. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +0 -193
  46. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +0 -3
  47. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +0 -1
  48. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +0 -12
  49. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +0 -3
  50. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js.map +0 -1
  51. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +0 -10
  52. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +0 -3
  53. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js.map +0 -1
  54. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +0 -7
  55. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +0 -3
  56. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +0 -1
  57. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +0 -7
  58. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +0 -3
  59. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +0 -1
  60. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +0 -4
  61. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +0 -3
  62. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +0 -1
  63. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +0 -4
  64. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +0 -3
  65. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +0 -1
  66. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +0 -9
  67. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +0 -3
  68. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +0 -1
  69. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +0 -4
  70. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +0 -3
  71. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +0 -1
  72. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +0 -4
  73. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +0 -3
  74. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +0 -1
  75. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +0 -20
  76. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +0 -3
  77. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +0 -1
  78. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +0 -23
  79. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +0 -3
  80. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +0 -1
  81. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +0 -32
  82. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +0 -3
  83. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +0 -1
  84. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +0 -19
  85. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +0 -3
  86. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +0 -1
  87. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +0 -42
  88. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +0 -3
  89. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js.map +0 -1
  90. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +0 -7
  91. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +0 -26
  92. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +0 -1
  93. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +0 -5
  94. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +0 -3
  95. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +0 -1
  96. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +0 -20
  97. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +0 -3
  98. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +0 -1
  99. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +0 -26
  100. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +0 -3
  101. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +0 -1
  102. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +0 -8
  103. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +0 -3
  104. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +0 -1
  105. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +0 -10
  106. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +0 -3
  107. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +0 -1
  108. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +0 -21
  109. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +0 -3
  110. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +0 -1
  111. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +0 -24
  112. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +0 -3
  113. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +0 -1
  114. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +0 -12
  115. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +0 -3
  116. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +0 -1
  117. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +0 -8
  118. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +0 -3
  119. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +0 -1
  120. package/dist/source/interfaces/extension_object_constructor.d.ts +0 -10
  121. package/dist/source/interfaces/extension_object_constructor.js +0 -3
  122. package/dist/source/interfaces/extension_object_constructor.js.map +0 -1
  123. package/dist/source/interfaces/nodeset_loader_options.d.ts +0 -4
  124. package/dist/source/interfaces/nodeset_loader_options.js +0 -3
  125. package/dist/source/interfaces/nodeset_loader_options.js.map +0 -1
  126. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +0 -12
  127. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +0 -3
  128. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +0 -1
  129. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +0 -49
  130. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +0 -3
  131. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +0 -1
  132. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +0 -11
  133. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +0 -3
  134. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +0 -1
  135. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +0 -30
  136. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +0 -3
  137. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +0 -1
  138. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +0 -234
  139. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +0 -3
  140. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +0 -1
  141. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +0 -6
  142. package/dist/source/interfaces/state_machine/ua_transition_ex.js +0 -3
  143. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +0 -1
  144. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +0 -8
  145. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +0 -3
  146. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +0 -1
  147. package/dist/source/loader/decode_xml_extension_object.d.ts +0 -6
  148. package/dist/source/loader/decode_xml_extension_object.js +0 -72
  149. package/dist/source/loader/decode_xml_extension_object.js.map +0 -1
  150. package/dist/source/loader/ensure_datatype_extracted.d.ts +0 -5
  151. package/dist/source/loader/ensure_datatype_extracted.js +0 -71
  152. package/dist/source/loader/ensure_datatype_extracted.js.map +0 -1
  153. package/dist/source/loader/generateAddressSpaceRaw.d.ts +0 -11
  154. package/dist/source/loader/generateAddressSpaceRaw.js +0 -46
  155. package/dist/source/loader/generateAddressSpaceRaw.js.map +0 -1
  156. package/dist/source/loader/load_nodeset2.d.ts +0 -17
  157. package/dist/source/loader/load_nodeset2.js +0 -1484
  158. package/dist/source/loader/load_nodeset2.js.map +0 -1
  159. package/dist/source/loader/make_semver_compatible.d.ts +0 -6
  160. package/dist/source/loader/make_semver_compatible.js +0 -26
  161. package/dist/source/loader/make_semver_compatible.js.map +0 -1
  162. package/dist/source/loader/make_xml_extension_object_parser.d.ts +0 -28
  163. package/dist/source/loader/make_xml_extension_object_parser.js +0 -327
  164. package/dist/source/loader/make_xml_extension_object_parser.js.map +0 -1
  165. package/dist/source/loader/namespace_post_step.d.ts +0 -10
  166. package/dist/source/loader/namespace_post_step.js +0 -62
  167. package/dist/source/loader/namespace_post_step.js.map +0 -1
  168. package/dist/source/loader/register_node_promoter.d.ts +0 -2
  169. package/dist/source/loader/register_node_promoter.js +0 -10
  170. package/dist/source/loader/register_node_promoter.js.map +0 -1
  171. package/dist/source/namespace.d.ts +0 -6
  172. package/dist/source/namespace.js +0 -3
  173. package/dist/source/namespace.js.map +0 -1
  174. package/dist/source/namespace_alarm_and_condition.d.ts +0 -32
  175. package/dist/source/namespace_alarm_and_condition.js +0 -3
  176. package/dist/source/namespace_alarm_and_condition.js.map +0 -1
  177. package/dist/source/namespace_data_access.d.ts +0 -42
  178. package/dist/source/namespace_data_access.js +0 -3
  179. package/dist/source/namespace_data_access.js.map +0 -1
  180. package/dist/source/namespace_machine_state.d.ts +0 -8
  181. package/dist/source/namespace_machine_state.js +0 -3
  182. package/dist/source/namespace_machine_state.js.map +0 -1
  183. package/dist/source/pseudo_session.d.ts +0 -72
  184. package/dist/source/pseudo_session.js +0 -255
  185. package/dist/source/pseudo_session.js.map +0 -1
  186. package/dist/source/session_context.d.ts +0 -111
  187. package/dist/source/session_context.js +0 -265
  188. package/dist/source/session_context.js.map +0 -1
  189. package/dist/source/set_namespace_meta_data.d.ts +0 -2
  190. package/dist/source/set_namespace_meta_data.js +0 -60
  191. package/dist/source/set_namespace_meta_data.js.map +0 -1
  192. package/dist/source/ua_root_folder.d.ts +0 -9
  193. package/dist/source/ua_root_folder.js +0 -3
  194. package/dist/source/ua_root_folder.js.map +0 -1
  195. package/dist/source/ua_two_state_variable_ex.d.ts +0 -23
  196. package/dist/source/ua_two_state_variable_ex.js +0 -3
  197. package/dist/source/ua_two_state_variable_ex.js.map +0 -1
  198. package/dist/source/xml_writer.d.ts +0 -18
  199. package/dist/source/xml_writer.js +0 -3
  200. package/dist/source/xml_writer.js.map +0 -1
  201. package/dist/src/address_space.d.ts +0 -387
  202. package/dist/src/address_space.js +0 -1386
  203. package/dist/src/address_space.js.map +0 -1
  204. package/dist/src/address_space_change_event_tools.d.ts +0 -6
  205. package/dist/src/address_space_change_event_tools.js +0 -153
  206. package/dist/src/address_space_change_event_tools.js.map +0 -1
  207. package/dist/src/address_space_private.d.ts +0 -43
  208. package/dist/src/address_space_private.js +0 -3
  209. package/dist/src/address_space_private.js.map +0 -1
  210. package/dist/src/alarms_and_conditions/condition.d.ts +0 -5
  211. package/dist/src/alarms_and_conditions/condition.js +0 -79
  212. package/dist/src/alarms_and_conditions/condition.js.map +0 -1
  213. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +0 -26
  214. package/dist/src/alarms_and_conditions/condition_info_impl.js +0 -55
  215. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +0 -1
  216. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +0 -222
  217. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +0 -658
  218. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +0 -1
  219. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +0 -9
  220. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +0 -61
  221. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +0 -1
  222. package/dist/src/alarms_and_conditions/index.d.ts +0 -16
  223. package/dist/src/alarms_and_conditions/index.js +0 -33
  224. package/dist/src/alarms_and_conditions/index.js.map +0 -1
  225. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +0 -44
  226. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +0 -245
  227. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +0 -1
  228. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +0 -93
  229. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +0 -419
  230. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +0 -1
  231. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +0 -26
  232. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +0 -39
  233. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +0 -1
  234. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +0 -44
  235. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +0 -184
  236. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +0 -1
  237. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +0 -153
  238. package/dist/src/alarms_and_conditions/ua_condition_impl.js +0 -1029
  239. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +0 -1
  240. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +0 -14
  241. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +0 -35
  242. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +0 -1
  243. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +0 -24
  244. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +0 -57
  245. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +0 -1
  246. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +0 -11
  247. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +0 -12
  248. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +0 -1
  249. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +0 -23
  250. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +0 -87
  251. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +0 -1
  252. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +0 -11
  253. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +0 -8
  254. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +0 -1
  255. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +0 -79
  256. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +0 -251
  257. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +0 -1
  258. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +0 -24
  259. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +0 -51
  260. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +0 -1
  261. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +0 -19
  262. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +0 -163
  263. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +0 -1
  264. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +0 -46
  265. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +0 -166
  266. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +0 -1
  267. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +0 -18
  268. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +0 -18
  269. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +0 -1
  270. package/dist/src/apply_condition_refresh.d.ts +0 -6
  271. package/dist/src/apply_condition_refresh.js +0 -28
  272. package/dist/src/apply_condition_refresh.js.map +0 -1
  273. package/dist/src/base_node_impl.d.ts +0 -284
  274. package/dist/src/base_node_impl.js +0 -1455
  275. package/dist/src/base_node_impl.js.map +0 -1
  276. package/dist/src/base_node_private.d.ts +0 -81
  277. package/dist/src/base_node_private.js +0 -804
  278. package/dist/src/base_node_private.js.map +0 -1
  279. package/dist/src/check_value_rank_compatibility.d.ts +0 -15
  280. package/dist/src/check_value_rank_compatibility.js +0 -82
  281. package/dist/src/check_value_rank_compatibility.js.map +0 -1
  282. package/dist/src/data_access/add_dataItem_stuff.d.ts +0 -11
  283. package/dist/src/data_access/add_dataItem_stuff.js +0 -62
  284. package/dist/src/data_access/add_dataItem_stuff.js.map +0 -1
  285. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +0 -1
  286. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +0 -35
  287. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js.map +0 -1
  288. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +0 -32
  289. package/dist/src/data_access/ua_multistate_discrete_impl.js +0 -131
  290. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +0 -1
  291. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +0 -52
  292. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +0 -254
  293. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +0 -1
  294. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +0 -25
  295. package/dist/src/data_access/ua_two_state_discrete_impl.js +0 -156
  296. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +0 -1
  297. package/dist/src/event_data.d.ts +0 -34
  298. package/dist/src/event_data.js +0 -65
  299. package/dist/src/event_data.js.map +0 -1
  300. package/dist/src/extension_object_array_node.d.ts +0 -23
  301. package/dist/src/extension_object_array_node.js +0 -249
  302. package/dist/src/extension_object_array_node.js.map +0 -1
  303. package/dist/src/historical_access/address_space_historical_data_node.d.ts +0 -26
  304. package/dist/src/historical_access/address_space_historical_data_node.js +0 -653
  305. package/dist/src/historical_access/address_space_historical_data_node.js.map +0 -1
  306. package/dist/src/idx_iterator.d.ts +0 -8
  307. package/dist/src/idx_iterator.js +0 -51
  308. package/dist/src/idx_iterator.js.map +0 -1
  309. package/dist/src/index_current.d.ts +0 -46
  310. package/dist/src/index_current.js +0 -78
  311. package/dist/src/index_current.js.map +0 -1
  312. package/dist/src/namespace_impl.d.ts +0 -456
  313. package/dist/src/namespace_impl.js +0 -1763
  314. package/dist/src/namespace_impl.js.map +0 -1
  315. package/dist/src/namespace_private.d.ts +0 -23
  316. package/dist/src/namespace_private.js +0 -33
  317. package/dist/src/namespace_private.js.map +0 -1
  318. package/dist/src/nodeid_manager.d.ts +0 -37
  319. package/dist/src/nodeid_manager.js +0 -184
  320. package/dist/src/nodeid_manager.js.map +0 -1
  321. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +0 -2
  322. package/dist/src/nodeset_tools/adjust_namespace_array.js +0 -14
  323. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +0 -1
  324. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +0 -18
  325. package/dist/src/nodeset_tools/construct_namespace_dependency.js +0 -141
  326. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +0 -1
  327. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +0 -2
  328. package/dist/src/nodeset_tools/dump_to_bsd.js +0 -165
  329. package/dist/src/nodeset_tools/dump_to_bsd.js.map +0 -1
  330. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +0 -10
  331. package/dist/src/nodeset_tools/nodeset_to_xml.js +0 -1288
  332. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +0 -1
  333. package/dist/src/private_namespace.d.ts +0 -5
  334. package/dist/src/private_namespace.js +0 -20
  335. package/dist/src/private_namespace.js.map +0 -1
  336. package/dist/src/reference_impl.d.ts +0 -43
  337. package/dist/src/reference_impl.js +0 -140
  338. package/dist/src/reference_impl.js.map +0 -1
  339. package/dist/src/role_permissions.d.ts +0 -2
  340. package/dist/src/role_permissions.js +0 -11
  341. package/dist/src/role_permissions.js.map +0 -1
  342. package/dist/src/state_machine/finite_state_machine.d.ts +0 -81
  343. package/dist/src/state_machine/finite_state_machine.js +0 -389
  344. package/dist/src/state_machine/finite_state_machine.js.map +0 -1
  345. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +0 -38
  346. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +0 -251
  347. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +0 -1
  348. package/dist/src/state_machine/ua_two_state_variable.d.ts +0 -61
  349. package/dist/src/state_machine/ua_two_state_variable.js +0 -332
  350. package/dist/src/state_machine/ua_two_state_variable.js.map +0 -1
  351. package/dist/src/tool_isSubtypeOf.d.ts +0 -18
  352. package/dist/src/tool_isSubtypeOf.js +0 -125
  353. package/dist/src/tool_isSubtypeOf.js.map +0 -1
  354. package/dist/src/tool_isSupertypeOf.d.ts +0 -18
  355. package/dist/src/tool_isSupertypeOf.js +0 -125
  356. package/dist/src/tool_isSupertypeOf.js.map +0 -1
  357. package/dist/src/ua_condition_type.d.ts +0 -8
  358. package/dist/src/ua_condition_type.js +0 -3
  359. package/dist/src/ua_condition_type.js.map +0 -1
  360. package/dist/src/ua_data_type_impl.d.ts +0 -89
  361. package/dist/src/ua_data_type_impl.js +0 -369
  362. package/dist/src/ua_data_type_impl.js.map +0 -1
  363. package/dist/src/ua_method_impl.d.ts +0 -42
  364. package/dist/src/ua_method_impl.js +0 -218
  365. package/dist/src/ua_method_impl.js.map +0 -1
  366. package/dist/src/ua_object_impl.d.ts +0 -35
  367. package/dist/src/ua_object_impl.js +0 -169
  368. package/dist/src/ua_object_impl.js.map +0 -1
  369. package/dist/src/ua_object_type_impl.d.ts +0 -50
  370. package/dist/src/ua_object_type_impl.js +0 -127
  371. package/dist/src/ua_object_type_impl.js.map +0 -1
  372. package/dist/src/ua_reference_type_impl.d.ts +0 -45
  373. package/dist/src/ua_reference_type_impl.js +0 -142
  374. package/dist/src/ua_reference_type_impl.js.map +0 -1
  375. package/dist/src/ua_variable_impl.d.ts +0 -380
  376. package/dist/src/ua_variable_impl.js +0 -1739
  377. package/dist/src/ua_variable_impl.js.map +0 -1
  378. package/dist/src/ua_variable_impl_ext_obj.d.ts +0 -23
  379. package/dist/src/ua_variable_impl_ext_obj.js +0 -671
  380. package/dist/src/ua_variable_impl_ext_obj.js.map +0 -1
  381. package/dist/src/ua_variable_type_impl.d.ts +0 -74
  382. package/dist/src/ua_variable_type_impl.js +0 -582
  383. package/dist/src/ua_variable_type_impl.js.map +0 -1
  384. package/dist/src/ua_view_impl.d.ts +0 -19
  385. package/dist/src/ua_view_impl.js +0 -44
  386. package/dist/src/ua_view_impl.js.map +0 -1
  387. package/distHelpers/add_event_generator_object.d.ts +0 -3
  388. package/distHelpers/add_event_generator_object.js +0 -65
  389. package/distHelpers/add_event_generator_object.js.map +0 -1
  390. package/distHelpers/alarms_and_conditions_demo.d.ts +0 -9
  391. package/distHelpers/alarms_and_conditions_demo.js +0 -116
  392. package/distHelpers/alarms_and_conditions_demo.js.map +0 -1
  393. package/distHelpers/assertHasMatchingReference.d.ts +0 -19
  394. package/distHelpers/assertHasMatchingReference.js +0 -41
  395. package/distHelpers/assertHasMatchingReference.js.map +0 -1
  396. package/distHelpers/boiler_system.d.ts +0 -113
  397. package/distHelpers/boiler_system.js +0 -396
  398. package/distHelpers/boiler_system.js.map +0 -1
  399. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +0 -5
  400. package/distHelpers/create_minimalist_address_space_nodeset.js +0 -172
  401. package/distHelpers/create_minimalist_address_space_nodeset.js.map +0 -1
  402. package/distHelpers/date_utils.d.ts +0 -3
  403. package/distHelpers/date_utils.js +0 -10
  404. package/distHelpers/date_utils.js.map +0 -1
  405. package/distHelpers/dump_statemachine.d.ts +0 -0
  406. package/distHelpers/dump_statemachine.js +0 -128
  407. package/distHelpers/dump_statemachine.js.map +0 -1
  408. package/distHelpers/get_address_space_fixture.d.ts +0 -1
  409. package/distHelpers/get_address_space_fixture.js +0 -31
  410. package/distHelpers/get_address_space_fixture.js.map +0 -1
  411. package/distHelpers/get_mini_address_space.d.ts +0 -7
  412. package/distHelpers/get_mini_address_space.js +0 -37
  413. package/distHelpers/get_mini_address_space.js.map +0 -1
  414. package/distHelpers/index.d.ts +0 -12
  415. package/distHelpers/index.js +0 -29
  416. package/distHelpers/index.js.map +0 -1
  417. package/distHelpers/mock_session.d.ts +0 -10
  418. package/distHelpers/mock_session.js +0 -26
  419. package/distHelpers/mock_session.js.map +0 -1
  420. package/distNodeJS/generate_address_space.d.ts +0 -6
  421. package/distNodeJS/generate_address_space.js +0 -53
  422. package/distNodeJS/generate_address_space.js.map +0 -1
  423. package/distNodeJS/index.d.ts +0 -1
  424. package/distNodeJS/index.js +0 -18
  425. package/distNodeJS/index.js.map +0 -1
  426. package/source/helpers/dump_tools.ts +0 -92
  427. package/src/nodeset_tools/dump_to_bsd.ts +0 -198
  428. package/test_helpers/dump_statemachine.ts +0 -155
@@ -1,251 +0,0 @@
1
- "use strict";
2
- /**
3
- * @module node-opcua-address-space.AlarmsAndConditions
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._clear_timer_if_any = exports.UAShelvedStateMachineExImpl = void 0;
7
- // --------------------------------------------------------------------------------------------------
8
- // ShelvingStateMachine
9
- // --------------------------------------------------------------------------------------------------
10
- const node_opcua_assert_1 = require("node-opcua-assert");
11
- const node_opcua_status_code_1 = require("node-opcua-status-code");
12
- const node_opcua_variant_1 = require("node-opcua-variant");
13
- const node_opcua_debug_1 = require("node-opcua-debug");
14
- const node_opcua_data_value_1 = require("node-opcua-data-value");
15
- const ua_alarm_condition_impl_1 = require("../alarms_and_conditions/ua_alarm_condition_impl");
16
- const finite_state_machine_1 = require("./finite_state_machine");
17
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
18
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
19
- class UAShelvedStateMachineExImpl extends finite_state_machine_1.UAStateMachineImpl {
20
- static promote(object) {
21
- const shelvingState = object;
22
- (0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
23
- Object.setPrototypeOf(shelvingState, UAShelvedStateMachineExImpl.prototype);
24
- shelvingState._timer = null;
25
- if (shelvingState.unshelve) {
26
- shelvingState.unshelve.bindMethod(_unshelve_method);
27
- }
28
- if (shelvingState.timedShelve) {
29
- shelvingState.timedShelve.bindMethod(_timedShelve_method);
30
- }
31
- if (shelvingState.oneShotShelve) {
32
- shelvingState.oneShotShelve.bindMethod(_oneShotShelve_method);
33
- }
34
- // install unshelveTime
35
- if (shelvingState.unshelveTime) {
36
- shelvingState.unshelveTime.minimumSamplingInterval = 500;
37
- shelvingState.unshelveTime.bindVariable({
38
- timestamped_get: _unShelveTimeFunc.bind(null, shelvingState)
39
- }, true);
40
- }
41
- (0, node_opcua_assert_1.assert)(shelvingState instanceof UAShelvedStateMachineExImpl);
42
- return shelvingState;
43
- }
44
- }
45
- exports.UAShelvedStateMachineExImpl = UAShelvedStateMachineExImpl;
46
- // The Unshelve Method sets the AlarmCondition to the Unshelved state. Normally, the MethodId found
47
- // the Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId
48
- // are passed to the Call Service. However, some Servers do not expose Condition instances in the
49
- // IAddressSpace. Therefore all Servers shall also allow Clients to call the Unshelve Method by
50
- // specifying ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the
51
- // ShelvedStateMachineType Node.
52
- // output => BadConditionNotShelved
53
- function _unshelve_method(inputArguments, context, callback) {
54
- (0, node_opcua_assert_1.assert)(inputArguments.length === 0);
55
- // var alarmNode = context.object.parent;
56
- // if (!(alarmNode instanceof UAAlarmConditionImpl)) {
57
- // return callback(null, {statusCode: StatusCodes.BadNodeIdInvalid});
58
- // }
59
- //
60
- // if (!alarmNode.getEnabledState() ) {
61
- // return callback(null, {statusCode: StatusCodes.BadConditionDisabled});
62
- // }
63
- const shelvingState = context.object;
64
- (0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
65
- if (shelvingState.getCurrentState() === "Unshelved") {
66
- return callback(null, {
67
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved
68
- });
69
- }
70
- shelvingState.setState("Unshelved");
71
- shelvingState._unsheveldTime = new Date(); // now
72
- _clear_timer_if_any(shelvingState);
73
- (0, node_opcua_assert_1.assert)(!shelvingState._timer);
74
- return callback(null, {
75
- statusCode: node_opcua_status_code_1.StatusCodes.Good
76
- });
77
- }
78
- function _clear_timer_if_any(shelvingState) {
79
- if (shelvingState._timer) {
80
- clearTimeout(shelvingState._timer);
81
- // xx console.log("_clear_timer_if_any shelvingState = ",shelvingState._timer,shelvingState.constructor.name);
82
- shelvingState._timer = null;
83
- }
84
- }
85
- exports._clear_timer_if_any = _clear_timer_if_any;
86
- function _automatically_unshelve(shelvingState) {
87
- (0, node_opcua_assert_1.assert)(shelvingState._timer, "expecting timerId to be set");
88
- shelvingState._timer = null;
89
- if (doDebug) {
90
- debugLog("Automatically unshelving variable ", shelvingState.browseName.toString());
91
- }
92
- if (shelvingState.getCurrentState() === "Unshelved") {
93
- // just ignore !!!
94
- return;
95
- // throw new Error(StatusCodes.BadConditionNotShelved);
96
- }
97
- shelvingState.setState("Unshelved");
98
- shelvingState._unshelvedTime = new Date(); // now
99
- (0, node_opcua_assert_1.assert)(!shelvingState._timer);
100
- }
101
- function _start_timer_for_automatic_unshelve(shelvingState, duration) {
102
- if (duration < 10 || duration >= Math.pow(2, 31)) {
103
- throw new Error(" Invalid maxTimeShelved duration: " + duration + " must be [10,2**31] ");
104
- }
105
- (0, node_opcua_assert_1.assert)(!shelvingState._timer);
106
- shelvingState._sheveldTime = new Date(); // now
107
- shelvingState._duration = duration;
108
- if (doDebug) {
109
- debugLog("shelvingState._duration", shelvingState._duration);
110
- }
111
- if (duration !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
112
- (0, node_opcua_assert_1.assert)(!shelvingState._timer);
113
- shelvingState._timer = setTimeout(_automatically_unshelve.bind(null, shelvingState), shelvingState._duration);
114
- }
115
- }
116
- // Spec 1.03:
117
- // The TimedShelve Method sets the AlarmCondition to the TimedShelved state
118
- // (parameters are defined in Table 38 and result codes are described in Table 39).
119
- // Normally, the MethodId found in the Shelving child of the Condition instance and the NodeId of the Shelving object
120
- // as the ObjectId are passed to the Call Service. However, some Servers do not expose Condition instances in the
121
- // IAddressSpace. Therefore all Servers shall also allow Clients to call the TimedShelve Method by specifying
122
- // ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the ShelvedStateMachineType Node.
123
- //
124
- // Signature: TimedShelve([in] Duration ShelvingTime);
125
- //
126
- // ShelvingTime Specifies a fixed time for which the Alarm is to be shelved. The Server may refuse
127
- // the provided duration.
128
- // If a MaxTimeShelved Property exist on the Alarm than the Shelving time shall be less than or equal
129
- // to the value of this Property.
130
- // StatusCode :
131
- // BadConditionAlreadyShelved The Alarm is already in TimedShelved state and the system does not allow
132
- // a reset of the shelved timer.
133
- // BadShelvingTimeOutOfRange
134
- function _timedShelve_method(inputArguments, context, callback) {
135
- (0, node_opcua_assert_1.assert)(inputArguments.length === 1);
136
- if (!context.object) {
137
- return;
138
- }
139
- const shelvingState = context.object;
140
- if (shelvingState.getCurrentState() !== "Unshelved") {
141
- return callback(null, {
142
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
143
- });
144
- }
145
- // checking duration ...
146
- const alarmNode = shelvingState.parent;
147
- // istanbul ignore next
148
- if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
149
- return callback(null, {
150
- statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
151
- });
152
- }
153
- const maxTimeShelved = alarmNode.getMaxTimeShelved();
154
- (0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
155
- (0, node_opcua_assert_1.assert)(inputArguments[0].dataType === node_opcua_variant_1.DataType.Double); // Duration
156
- (0, node_opcua_assert_1.assert)(inputArguments[0] instanceof node_opcua_variant_1.Variant);
157
- // xx console.log("inputArguments",inputArguments[0].toString());
158
- const proposedDuration = inputArguments[0].value; // as double (milliseconds)
159
- if (proposedDuration > maxTimeShelved) {
160
- return callback(null, {
161
- statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
162
- });
163
- }
164
- if (proposedDuration < 0) {
165
- return callback(null, {
166
- statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
167
- });
168
- }
169
- _clear_timer_if_any(shelvingState);
170
- shelvingState.setState("TimedShelved");
171
- _start_timer_for_automatic_unshelve(shelvingState, proposedDuration);
172
- return callback(null, {
173
- statusCode: node_opcua_status_code_1.StatusCodes.Good
174
- });
175
- }
176
- // Spec 1.03:
177
- // OneShotShelve Method
178
- // The OneShotShelve Method sets the AlarmCondition to the OneShotShelved state. Normally, the MethodId found in the
179
- // Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId are passed to the
180
- // Call Service. However, some Servers do not expose Condition instances in the IAddressSpace. Therefore all Servers
181
- // shall also allow Clients to call the OneShotShelve Method by specifying ConditionId as the ObjectId. The Method
182
- // cannot be called with an ObjectId of the ShelvedStateMachineType Node
183
- function _oneShotShelve_method(inputArguments, context, callback) {
184
- (0, node_opcua_assert_1.assert)(inputArguments.length === 0);
185
- const shelvingState = context.object;
186
- if (shelvingState.getCurrentState() === "OneShotShelved") {
187
- return callback(null, {
188
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
189
- });
190
- }
191
- // checking duration ...
192
- const alarmNode = shelvingState.parent;
193
- // istanbul ignore next
194
- if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
195
- return callback(null, {
196
- statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
197
- });
198
- }
199
- const maxTimeShelved = alarmNode.getMaxTimeShelved();
200
- (0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
201
- (0, node_opcua_assert_1.assert)(maxTimeShelved !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration);
202
- // set automatic unshelving timer
203
- _clear_timer_if_any(shelvingState);
204
- shelvingState.setState("OneShotShelved");
205
- _start_timer_for_automatic_unshelve(shelvingState, maxTimeShelved);
206
- return callback(null, {
207
- statusCode: node_opcua_status_code_1.StatusCodes.Good
208
- });
209
- }
210
- // from spec 1.03 :
211
- // * UnshelveTime specifies the remaining time in milliseconds until the Alarm automatically
212
- // transitions into the Un-shelved state.
213
- // * For the TimedShelved state this time is initialised with the ShelvingTime argument of the
214
- // TimedShelve Method call.
215
- // * For the OneShotShelved state the UnshelveTime will be a constant set to the maximum Duration
216
- // except if a MaxTimeShelved Property is provided.
217
- function _unShelveTimeFunc(shelvingState) {
218
- if (shelvingState.getCurrentState() === "Unshelved") {
219
- return new node_opcua_data_value_1.DataValue({
220
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
221
- value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
222
- });
223
- }
224
- if (!shelvingState._sheveldTime) {
225
- return new node_opcua_data_value_1.DataValue({
226
- statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
227
- value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
228
- });
229
- }
230
- if (shelvingState.getCurrentState() === "OneShotShelved" && shelvingState._duration === ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
231
- return new node_opcua_data_value_1.DataValue({
232
- statusCode: node_opcua_status_code_1.StatusCodes.Good,
233
- value: {
234
- dataType: node_opcua_variant_1.DataType.Double,
235
- value: ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration
236
- }
237
- });
238
- }
239
- const now = new Date();
240
- let timeToAutomaticUnshelvedState = shelvingState._duration - (now.getTime() - shelvingState._sheveldTime.getTime());
241
- // timeToAutomaticUnshelvedState should always be greater than (or equal) zero
242
- timeToAutomaticUnshelvedState = Math.max(timeToAutomaticUnshelvedState, 0);
243
- return new node_opcua_data_value_1.DataValue({
244
- statusCode: node_opcua_status_code_1.StatusCodes.Good,
245
- value: {
246
- dataType: node_opcua_variant_1.DataType.Double,
247
- value: timeToAutomaticUnshelvedState
248
- }
249
- });
250
- }
251
- //# sourceMappingURL=ua_shelving_state_machine_ex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ua_shelving_state_machine_ex.js","sourceRoot":"","sources":["../../../src/state_machine/ua_shelving_state_machine_ex.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- import { LocalizedText, LocalizedTextLike } from "node-opcua-data-model";
2
- import { DataValueT } from "node-opcua-data-value";
3
- import { NodeId } from "node-opcua-nodeid";
4
- import { StatusCode, StatusCodeCallback } from "node-opcua-status-code";
5
- import { DataType } from "node-opcua-variant";
6
- import { BaseNode, BindVariableOptions, INamespace, UAReference, UAVariable, ISessionContext } from "node-opcua-address-space-base";
7
- import { NumericRange } from "node-opcua-numeric-range";
8
- import { QualifiedNameLike } from "node-opcua-data-model";
9
- import { AddTwoStateVariableOptions } from "../../source/address_space_ts";
10
- import { UATwoStateVariableEx } from "../../source/ua_two_state_variable_ex";
11
- import { UAVariableImplT } from "../ua_variable_impl";
12
- export declare function _install_TwoStateVariable_machinery(node: UAVariable, options: TwoStateVariableInitializeOptions): UATwoStateVariableEx;
13
- export declare function promoteToTwoStateVariable(node: UAVariable): UATwoStateVariableEx;
14
- export interface TwoStateVariableInitializeOptions {
15
- trueState?: LocalizedTextLike;
16
- falseState?: LocalizedTextLike;
17
- isFalseSubStateOf?: NodeId | string | BaseNode;
18
- isTrueSubStateOf?: NodeId | string | BaseNode;
19
- value?: boolean | BindVariableOptions;
20
- }
21
- export declare interface UATwoStateVariableImpl extends UATwoStateVariableEx {
22
- on(): this;
23
- once(): this;
24
- readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT<LocalizedText, DataType.LocalizedText>;
25
- writeValue(context: ISessionContext, dataValue: DataValueT<LocalizedText, DataType.LocalizedText>, indexRange: NumericRange | null, callback: StatusCodeCallback): void;
26
- writeValue(context: ISessionContext, dataValue: DataValueT<LocalizedText, DataType.LocalizedText>, callback: StatusCodeCallback): void;
27
- writeValue(context: ISessionContext, dataValue: DataValueT<LocalizedText, DataType.LocalizedText>, indexRange?: NumericRange | null): Promise<StatusCode>;
28
- }
29
- /***
30
- * @class UATwoStateVariable
31
- * @constructor
32
- * @extends UAVariable
33
- */
34
- export declare class UATwoStateVariableImpl extends UAVariableImplT<LocalizedText, DataType.LocalizedText> implements UATwoStateVariableEx {
35
- private _trueState?;
36
- private _falseState?;
37
- constructor(opts: any);
38
- get isFalseSubStateOf(): UATwoStateVariableEx;
39
- get isTrueSubStateOf(): UATwoStateVariableEx;
40
- initialize(options: TwoStateVariableInitializeOptions): void;
41
- _postInitialize(): void;
42
- /**
43
- * @method setValue
44
- * @param boolValue {Boolean}
45
- */
46
- setValue(boolValue: boolean): void;
47
- /**
48
- * @method getValue
49
- * @return {Boolean}
50
- */
51
- getValue(): boolean;
52
- /**
53
- * @method getValueAsString
54
- * @return {string}
55
- */
56
- getValueAsString(): string;
57
- getTrueState(): LocalizedText;
58
- getFalseState(): LocalizedText;
59
- _add_backward_reference(reference: UAReference): void;
60
- }
61
- export declare function _addTwoStateVariable(namespace: INamespace, options: AddTwoStateVariableOptions): UATwoStateVariableEx;
@@ -1,332 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._addTwoStateVariable = exports.UATwoStateVariableImpl = exports.promoteToTwoStateVariable = exports._install_TwoStateVariable_machinery = void 0;
4
- /**
5
- * @module node-opcua-address-space
6
- */
7
- const node_opcua_assert_1 = require("node-opcua-assert");
8
- const node_opcua_constants_1 = require("node-opcua-constants");
9
- const node_opcua_data_model_1 = require("node-opcua-data-model");
10
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
11
- const node_opcua_nodeid_2 = require("node-opcua-nodeid");
12
- const node_opcua_status_code_1 = require("node-opcua-status-code");
13
- const node_opcua_variant_1 = require("node-opcua-variant");
14
- const node_opcua_variant_2 = require("node-opcua-variant");
15
- // public interfaces
16
- const register_node_promoter_1 = require("../../source/loader/register_node_promoter");
17
- // private types
18
- const ua_variable_impl_1 = require("../ua_variable_impl");
19
- const hasTrueSubState_ReferenceTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("HasTrueSubState");
20
- const hasFalseSubState_ReferenceTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("HasFalseSubState");
21
- // Release 1.03 12 OPC Unified Architecture, Part 9
22
- // Two-state state machines
23
- // Most states defined in this standard are simple – i.e. they are either TRUE or FALSE. The
24
- // TwoStateVariableType is introduced specifically for this use case. More complex states are
25
- // modelled by using a StateMachineType defined in Part 5.
26
- // The TwoStateVariableType is derived from the StateVariableType.
27
- //
28
- // Attribute Value
29
- // BrowseName TwoStateVariableType
30
- // DataType LocalizedText
31
- // ValueRank -1 (-1 = Scalar)
32
- // IsAbstract False
33
- //
34
- // Subtype of the StateVariableType defined in Part 5.
35
- // Note that a Reference to this subtype is not shown in the definition of the StateVariableType
36
- //
37
- // References NodeClass BrowseName DataType TypeDefinition Modelling Rule
38
- // HasProperty Variable Id Boolean PropertyType Mandatory
39
- // HasProperty Variable TransitionTime UtcTime PropertyType Optional
40
- // HasProperty Variable EffectiveTransitionTime UtcTime PropertyType Optional
41
- // HasProperty Variable TrueState LocalizedText PropertyType Optional
42
- // HasProperty Variable FalseState LocalizedText PropertyType Optional
43
- // HasTrueSubState StateMachine or
44
- // TwoStateVariableType
45
- // <StateIdentifier> Defined in Clause 5.4.2 Optional
46
- // HasFalseSubState StateMachine or
47
- // TwoStateVariableType
48
- // <StateIdentifier> Defined in Clause 5.4.3 Optional
49
- function _updateTransitionTime(node) {
50
- // TransitionTime specifies the time when the current state was entered.
51
- if (node.transitionTime) {
52
- node.transitionTime.setValueFromSource({ dataType: node_opcua_variant_2.DataType.DateTime, value: new Date() });
53
- }
54
- }
55
- function _updateEffectiveTransitionTime(node) {
56
- if (node.effectiveTransitionTime) {
57
- // xx console.log("xxxx _updateEffectiveTransitionTime
58
- // because subStateNode ",subStateNode.browseName.toString());
59
- node.effectiveTransitionTime.setValueFromSource({
60
- dataType: node_opcua_variant_2.DataType.DateTime,
61
- value: new Date()
62
- });
63
- }
64
- }
65
- function _getEffectiveDisplayName(node) {
66
- const humanReadableString = _getHumanReadableString(node);
67
- if (humanReadableString.statusCode.isNotGood()) {
68
- return humanReadableString;
69
- }
70
- const boolValue = node.getValue();
71
- let subStateNodes;
72
- if (boolValue) {
73
- subStateNodes = node.findReferencesExAsObject("HasTrueSubState", node_opcua_data_model_1.BrowseDirection.Forward);
74
- }
75
- else {
76
- subStateNodes = node.findReferencesExAsObject("HasFalseSubState", node_opcua_data_model_1.BrowseDirection.Forward);
77
- }
78
- const states = subStateNodes.forEach((n) => {
79
- // todo happen
80
- });
81
- return humanReadableString;
82
- }
83
- function _getHumanReadableString(node) {
84
- const dataValue = node.id.readValue();
85
- if (dataValue.statusCode.isNotGood()) {
86
- const _c = dataValue.clone();
87
- _c.value = new node_opcua_variant_1.Variant({
88
- dataType: node_opcua_variant_2.DataType.LocalizedText,
89
- value: (0, node_opcua_data_model_1.coerceLocalizedText)("")
90
- });
91
- return _c;
92
- }
93
- (0, node_opcua_assert_1.assert)(dataValue.value.dataType === node_opcua_variant_2.DataType.Boolean);
94
- const boolValue = dataValue.value.value;
95
- // The Value Attribute of a TwoStateVariable contains the current state as a human readable name.
96
- // The EnabledState for example, might contain the name “Enabled” when TRUE and “Disabled” when FALSE.
97
- const dataValue2 = dataValue.clone();
98
- dataValue2.value = new node_opcua_variant_1.Variant({
99
- dataType: node_opcua_variant_2.DataType.LocalizedText,
100
- value: boolValue ? node.getTrueState() : node.getFalseState()
101
- });
102
- return dataValue2;
103
- }
104
- function _install_TwoStateVariable_machinery(node, options) {
105
- (0, node_opcua_assert_1.assert)(node.dataTypeObj.browseName.toString() === "LocalizedText");
106
- (0, node_opcua_assert_1.assert)(node.minimumSamplingInterval === 0);
107
- (0, node_opcua_assert_1.assert)(node.typeDefinitionObj.browseName.toString() === "TwoStateVariableType");
108
- (0, node_opcua_assert_1.assert)(node.dataTypeObj.browseName.toString() === "LocalizedText");
109
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(node, "valueRank") && (node.valueRank === -1 || node.valueRank === 0));
110
- // promote node into a UATwoStateVariable
111
- const _node = promoteToTwoStateVariable(node);
112
- node.initialize(options);
113
- return _node;
114
- }
115
- exports._install_TwoStateVariable_machinery = _install_TwoStateVariable_machinery;
116
- function promoteToTwoStateVariable(node) {
117
- if (node instanceof UATwoStateVariableImpl) {
118
- return node;
119
- }
120
- // istanbul ignore next
121
- if (!(node instanceof ua_variable_impl_1.UAVariableImpl)) {
122
- throw new Error("Trying to promote a invalid object");
123
- }
124
- Object.setPrototypeOf(node, UATwoStateVariableImpl.prototype);
125
- return node;
126
- }
127
- exports.promoteToTwoStateVariable = promoteToTwoStateVariable;
128
- (0, register_node_promoter_1.registerNodePromoter)(node_opcua_constants_1.VariableTypeIds.TwoStateVariableType, promoteToTwoStateVariable);
129
- /***
130
- * @class UATwoStateVariable
131
- * @constructor
132
- * @extends UAVariable
133
- */
134
- class UATwoStateVariableImpl extends ua_variable_impl_1.UAVariableImplT {
135
- constructor(opts) {
136
- super(opts);
137
- }
138
- get isFalseSubStateOf() {
139
- return super.isFalseSubStateOf;
140
- }
141
- get isTrueSubStateOf() {
142
- return super.isTrueSubStateOf;
143
- }
144
- initialize(options) {
145
- if (options.trueState) {
146
- (0, node_opcua_assert_1.assert)(!!options.falseState);
147
- (0, node_opcua_assert_1.assert)(typeof options.trueState === "string");
148
- (0, node_opcua_assert_1.assert)(typeof options.falseState === "string");
149
- if (this.falseState) {
150
- this.falseState.setValueFromSource({
151
- dataType: node_opcua_variant_2.DataType.LocalizedText,
152
- value: (0, node_opcua_data_model_1.coerceLocalizedText)(options.falseState)
153
- });
154
- }
155
- else {
156
- this._trueState = (0, node_opcua_data_model_1.coerceLocalizedText)(options.trueState).text;
157
- }
158
- if (this.trueState) {
159
- this.trueState.setValueFromSource({
160
- dataType: node_opcua_variant_2.DataType.LocalizedText,
161
- value: (0, node_opcua_data_model_1.coerceLocalizedText)(options.trueState)
162
- });
163
- }
164
- else {
165
- this._falseState = (0, node_opcua_data_model_1.coerceLocalizedText)(options.falseState).text;
166
- }
167
- }
168
- // handle isTrueSubStateOf
169
- if (options.isTrueSubStateOf) {
170
- this.addReference({
171
- isForward: false,
172
- nodeId: options.isTrueSubStateOf,
173
- referenceType: "HasTrueSubState"
174
- });
175
- }
176
- if (options.isFalseSubStateOf) {
177
- this.addReference({
178
- isForward: false,
179
- nodeId: options.isFalseSubStateOf,
180
- referenceType: "HasFalseSubState"
181
- });
182
- }
183
- if (options.value === undefined) {
184
- this.id.setValueFromSource({
185
- dataType: "Boolean",
186
- value: false
187
- }, node_opcua_status_code_1.StatusCodes.UncertainInitialValue);
188
- }
189
- else if (typeof options.value === "boolean") {
190
- this.id.setValueFromSource({
191
- dataType: "Boolean",
192
- value: options.value
193
- }, node_opcua_status_code_1.StatusCodes.Good);
194
- }
195
- else if (Object.prototype.hasOwnProperty.call(options.value, "dataType")) {
196
- (0, node_opcua_assert_1.assert)(options.value.dataType === node_opcua_variant_2.DataType.Boolean);
197
- this.id.setValueFromSource(options.value, node_opcua_status_code_1.StatusCodes.Good);
198
- }
199
- else {
200
- this.id.bindVariable(options.value);
201
- }
202
- this._postInitialize();
203
- }
204
- _postInitialize() {
205
- if (this.effectiveTransitionTime) {
206
- // install "value_changed" event handler on SubState that are already defined
207
- const subStates = this.getTrueSubStates().concat(this.getFalseSubStates());
208
- for (const subState of subStates) {
209
- subState.on("value_changed", () => _updateEffectiveTransitionTime(this));
210
- }
211
- }
212
- // it should be possible to define a trueState and falseState LocalizedText even if
213
- // the trueState or FalseState node is not exposed. Therefore we need to store their value
214
- // into dedicated variables.
215
- this.id.on("value_changed", () => {
216
- this._internal_set_dataValue(_getHumanReadableString(this));
217
- });
218
- this._internal_set_dataValue(_getHumanReadableString(this));
219
- // todo : also set the effectiveDisplayName if present
220
- // from spec Part 5
221
- // Release 1.03 OPC Unified Architecture, Part 5
222
- // EffectiveDisplayName contains a human readable name for the current state of the state
223
- // machine after taking the state of any SubStateMachines in account. There is no rule specified
224
- // for which state or sub-state should be used. It is up to the Server and will depend on the
225
- // semantics of the StateMachineType
226
- //
227
- // EffectiveDisplayName will be constructed by adding the EnabledState
228
- // and the State of the addTrue state
229
- if (this.effectiveDisplayName) {
230
- this.id.on("value_changed", () => {
231
- this.effectiveDisplayName._internal_set_dataValue(_getEffectiveDisplayName(this));
232
- });
233
- this.effectiveDisplayName._internal_set_dataValue(_getEffectiveDisplayName(this));
234
- }
235
- }
236
- /**
237
- * @method setValue
238
- * @param boolValue {Boolean}
239
- */
240
- setValue(boolValue) {
241
- (0, node_opcua_assert_1.assert)(typeof boolValue === "boolean");
242
- const dataValue = this.id.readValue();
243
- const oldValue = dataValue.value.value;
244
- if (dataValue.statusCode.isGood() && boolValue === oldValue) {
245
- return; // nothing to do
246
- }
247
- //
248
- this.id.setValueFromSource(new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_2.DataType.Boolean, value: boolValue }));
249
- _updateTransitionTime(this);
250
- _updateEffectiveTransitionTime(this);
251
- }
252
- /**
253
- * @method getValue
254
- * @return {Boolean}
255
- */
256
- getValue() {
257
- const dataValue = this.id.readValue();
258
- (0, node_opcua_assert_1.assert)(dataValue.statusCode.isGood());
259
- (0, node_opcua_assert_1.assert)(dataValue.value.dataType === node_opcua_variant_2.DataType.Boolean);
260
- return dataValue.value.value;
261
- }
262
- /**
263
- * @method getValueAsString
264
- * @return {string}
265
- */
266
- getValueAsString() {
267
- var _a;
268
- const dataValue = this.readValue();
269
- (0, node_opcua_assert_1.assert)(dataValue.statusCode.isGood());
270
- (0, node_opcua_assert_1.assert)(dataValue.value.dataType === node_opcua_variant_2.DataType.LocalizedText);
271
- return ((_a = dataValue.value.value.text) === null || _a === void 0 ? void 0 : _a.toString()) || "";
272
- }
273
- getTrueState() {
274
- return this.trueState ? this.trueState.readValue().value.value : (0, node_opcua_data_model_1.coerceLocalizedText)(this._trueState || "TRUE");
275
- }
276
- getFalseState() {
277
- return this.falseState ? this.falseState.readValue().value.value : (0, node_opcua_data_model_1.coerceLocalizedText)(this._falseState || "FALSE");
278
- }
279
- // TODO : shall we care about overloading the remove_backward_reference method ?
280
- // some TrueSubState and FalseSubState relationship may be added later
281
- // so we need a mechanism to keep adding the "value_changed" event handle on subStates that
282
- // will be defined later.
283
- // install change detection on sub State
284
- // this is useful to change the effective transitionTime
285
- // EffectiveTransitionTime specifies the time when the current state or one of its sub states was entered.
286
- // If, for example, a LevelAlarm is active and – while active – switches several times between High and
287
- // HighHigh, then the TransitionTime stays at the point in time where the Alarm became active whereas the
288
- // EffectiveTransitionTime changes with each shift of a sub state.
289
- _add_backward_reference(reference) {
290
- super._add_backward_reference(reference);
291
- if (reference.isForward &&
292
- ((0, node_opcua_nodeid_2.sameNodeId)(reference.referenceType, hasTrueSubState_ReferenceTypeNodeId) ||
293
- (0, node_opcua_nodeid_2.sameNodeId)(reference.referenceType, hasFalseSubState_ReferenceTypeNodeId))) {
294
- const addressSpace = this.addressSpace;
295
- // add event handle
296
- const subState = addressSpace.findNode(reference.nodeId);
297
- subState.on("value_changed", _updateEffectiveTransitionTime.bind(null, this, subState));
298
- }
299
- }
300
- }
301
- exports.UATwoStateVariableImpl = UATwoStateVariableImpl;
302
- function _addTwoStateVariable(namespace, options) {
303
- const addressSpace = namespace.addressSpace;
304
- const twoStateVariableType = addressSpace.findVariableType("TwoStateVariableType");
305
- if (!twoStateVariableType) {
306
- throw new Error("cannot find TwoStateVariableType");
307
- }
308
- options.optionals = options.optionals || [];
309
- if (options.trueState) {
310
- options.optionals.push("TrueState");
311
- }
312
- if (options.falseState) {
313
- options.optionals.push("FalseState");
314
- }
315
- // we want event based changes...
316
- options.minimumSamplingInterval = 0;
317
- const node = twoStateVariableType.instantiate({
318
- browseName: options.browseName,
319
- nodeId: options.nodeId,
320
- description: options.description,
321
- componentOf: options.componentOf,
322
- organizedBy: options.organizedBy,
323
- modellingRule: options.modellingRule,
324
- dataType: (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_variant_2.DataType.LocalizedText),
325
- minimumSamplingInterval: options.minimumSamplingInterval,
326
- optionals: options.optionals
327
- });
328
- const _node = _install_TwoStateVariable_machinery(node, options);
329
- return _node;
330
- }
331
- exports._addTwoStateVariable = _addTwoStateVariable;
332
- //# sourceMappingURL=ua_two_state_variable.js.map