node-opcua-address-space 2.98.0 → 2.98.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 (460) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -0
  2. package/dist/source/address_space_ts.js +18 -0
  3. package/dist/source/address_space_ts.js.map +1 -0
  4. package/dist/source/continuation_points/continuation_point_manager.d.ts +91 -0
  5. package/dist/source/continuation_points/continuation_point_manager.js +201 -0
  6. package/dist/source/continuation_points/continuation_point_manager.js.map +1 -0
  7. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -0
  8. package/dist/source/helpers/adjust_browse_direction.js +12 -0
  9. package/dist/source/helpers/adjust_browse_direction.js.map +1 -0
  10. package/dist/source/helpers/argument_list.d.ts +33 -0
  11. package/dist/source/helpers/argument_list.js +255 -0
  12. package/dist/source/helpers/argument_list.js.map +1 -0
  13. package/dist/source/helpers/call_helpers.d.ts +6 -0
  14. package/dist/source/helpers/call_helpers.js +72 -0
  15. package/dist/source/helpers/call_helpers.js.map +1 -0
  16. package/dist/source/helpers/coerce_enum_value.d.ts +6 -0
  17. package/dist/source/helpers/coerce_enum_value.js +34 -0
  18. package/dist/source/helpers/coerce_enum_value.js.map +1 -0
  19. package/dist/source/helpers/dump_tools.d.ts +14 -0
  20. package/dist/source/helpers/dump_tools.js +79 -0
  21. package/dist/source/helpers/dump_tools.js.map +1 -0
  22. package/dist/source/helpers/ensure_secure_access.d.ts +9 -0
  23. package/dist/source/helpers/ensure_secure_access.js +77 -0
  24. package/dist/source/helpers/ensure_secure_access.js.map +1 -0
  25. package/dist/source/helpers/make_optionals_map.d.ts +21 -0
  26. package/dist/source/helpers/make_optionals_map.js +30 -0
  27. package/dist/source/helpers/make_optionals_map.js.map +1 -0
  28. package/dist/source/helpers/multiform_func.d.ts +11 -0
  29. package/dist/source/helpers/multiform_func.js +76 -0
  30. package/dist/source/helpers/multiform_func.js.map +1 -0
  31. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -0
  32. package/dist/source/helpers/resolve_opaque_on_address_space.js +37 -0
  33. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +1 -0
  34. package/dist/source/index.d.ts +61 -0
  35. package/dist/source/index.js +90 -0
  36. package/dist/source/index.js.map +1 -0
  37. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +19 -0
  38. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +3 -0
  39. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -0
  40. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +193 -0
  41. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +3 -0
  42. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +1 -0
  43. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -0
  44. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +3 -0
  45. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js.map +1 -0
  46. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +10 -0
  47. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +3 -0
  48. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js.map +1 -0
  49. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -0
  50. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +3 -0
  51. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +1 -0
  52. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -0
  53. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +3 -0
  54. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +1 -0
  55. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -0
  56. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +3 -0
  57. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +1 -0
  58. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -0
  59. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +3 -0
  60. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +1 -0
  61. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -0
  62. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +3 -0
  63. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +1 -0
  64. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -0
  65. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +3 -0
  66. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +1 -0
  67. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -0
  68. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +3 -0
  69. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +1 -0
  70. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -0
  71. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +3 -0
  72. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +1 -0
  73. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -0
  74. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +3 -0
  75. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +1 -0
  76. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -0
  77. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +3 -0
  78. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +1 -0
  79. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -0
  80. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +3 -0
  81. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +1 -0
  82. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +45 -0
  83. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +3 -0
  84. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js.map +1 -0
  85. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -0
  86. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +26 -0
  87. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +1 -0
  88. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -0
  89. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +3 -0
  90. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +1 -0
  91. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -0
  92. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +3 -0
  93. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +1 -0
  94. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -0
  95. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +3 -0
  96. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +1 -0
  97. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -0
  98. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +3 -0
  99. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +1 -0
  100. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -0
  101. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +3 -0
  102. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +1 -0
  103. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -0
  104. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +3 -0
  105. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +1 -0
  106. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -0
  107. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +3 -0
  108. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +1 -0
  109. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -0
  110. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +3 -0
  111. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +1 -0
  112. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -0
  113. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +3 -0
  114. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +1 -0
  115. package/dist/source/interfaces/extension_object_constructor.d.ts +10 -0
  116. package/dist/source/interfaces/extension_object_constructor.js +3 -0
  117. package/dist/source/interfaces/extension_object_constructor.js.map +1 -0
  118. package/dist/source/interfaces/nodeset_loader_options.d.ts +4 -0
  119. package/dist/source/interfaces/nodeset_loader_options.js +3 -0
  120. package/dist/source/interfaces/nodeset_loader_options.js.map +1 -0
  121. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -0
  122. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +3 -0
  123. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +1 -0
  124. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -0
  125. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +3 -0
  126. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +1 -0
  127. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -0
  128. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +3 -0
  129. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +1 -0
  130. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -0
  131. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +3 -0
  132. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +1 -0
  133. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +234 -0
  134. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +3 -0
  135. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +1 -0
  136. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -0
  137. package/dist/source/interfaces/state_machine/ua_transition_ex.js +3 -0
  138. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +1 -0
  139. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -0
  140. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +3 -0
  141. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -0
  142. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -0
  143. package/dist/source/loader/decode_xml_extension_object.js +72 -0
  144. package/dist/source/loader/decode_xml_extension_object.js.map +1 -0
  145. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -0
  146. package/dist/source/loader/ensure_datatype_extracted.js +71 -0
  147. package/dist/source/loader/ensure_datatype_extracted.js.map +1 -0
  148. package/dist/source/loader/generateAddressSpaceRaw.d.ts +11 -0
  149. package/dist/source/loader/generateAddressSpaceRaw.js +46 -0
  150. package/dist/source/loader/generateAddressSpaceRaw.js.map +1 -0
  151. package/dist/source/loader/load_nodeset2.d.ts +17 -0
  152. package/dist/source/loader/load_nodeset2.js +1484 -0
  153. package/dist/source/loader/load_nodeset2.js.map +1 -0
  154. package/dist/source/loader/make_semver_compatible.d.ts +6 -0
  155. package/dist/source/loader/make_semver_compatible.js +26 -0
  156. package/dist/source/loader/make_semver_compatible.js.map +1 -0
  157. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -0
  158. package/dist/source/loader/make_xml_extension_object_parser.js +327 -0
  159. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -0
  160. package/dist/source/loader/namespace_post_step.d.ts +10 -0
  161. package/dist/source/loader/namespace_post_step.js +62 -0
  162. package/dist/source/loader/namespace_post_step.js.map +1 -0
  163. package/dist/source/loader/register_node_promoter.d.ts +2 -0
  164. package/dist/source/loader/register_node_promoter.js +10 -0
  165. package/dist/source/loader/register_node_promoter.js.map +1 -0
  166. package/dist/source/namespace.d.ts +6 -0
  167. package/dist/source/namespace.js +3 -0
  168. package/dist/source/namespace.js.map +1 -0
  169. package/dist/source/namespace_alarm_and_condition.d.ts +32 -0
  170. package/dist/source/namespace_alarm_and_condition.js +3 -0
  171. package/dist/source/namespace_alarm_and_condition.js.map +1 -0
  172. package/dist/source/namespace_data_access.d.ts +42 -0
  173. package/dist/source/namespace_data_access.js +3 -0
  174. package/dist/source/namespace_data_access.js.map +1 -0
  175. package/dist/source/namespace_machine_state.d.ts +8 -0
  176. package/dist/source/namespace_machine_state.js +3 -0
  177. package/dist/source/namespace_machine_state.js.map +1 -0
  178. package/dist/source/pseudo_session.d.ts +72 -0
  179. package/dist/source/pseudo_session.js +255 -0
  180. package/dist/source/pseudo_session.js.map +1 -0
  181. package/dist/source/session_context.d.ts +111 -0
  182. package/dist/source/session_context.js +265 -0
  183. package/dist/source/session_context.js.map +1 -0
  184. package/dist/source/set_namespace_meta_data.d.ts +2 -0
  185. package/dist/source/set_namespace_meta_data.js +60 -0
  186. package/dist/source/set_namespace_meta_data.js.map +1 -0
  187. package/dist/source/ua_root_folder.d.ts +9 -0
  188. package/dist/source/ua_root_folder.js +3 -0
  189. package/dist/source/ua_root_folder.js.map +1 -0
  190. package/dist/source/ua_two_state_variable_ex.d.ts +23 -0
  191. package/dist/source/ua_two_state_variable_ex.js +3 -0
  192. package/dist/source/ua_two_state_variable_ex.js.map +1 -0
  193. package/dist/source/xml_writer.d.ts +18 -0
  194. package/dist/source/xml_writer.js +3 -0
  195. package/dist/source/xml_writer.js.map +1 -0
  196. package/dist/src/address_space.d.ts +387 -0
  197. package/dist/src/address_space.js +1386 -0
  198. package/dist/src/address_space.js.map +1 -0
  199. package/dist/src/address_space_change_event_tools.d.ts +6 -0
  200. package/dist/src/address_space_change_event_tools.js +153 -0
  201. package/dist/src/address_space_change_event_tools.js.map +1 -0
  202. package/dist/src/address_space_private.d.ts +43 -0
  203. package/dist/src/address_space_private.js +3 -0
  204. package/dist/src/address_space_private.js.map +1 -0
  205. package/dist/src/alarms_and_conditions/condition.d.ts +5 -0
  206. package/dist/src/alarms_and_conditions/condition.js +79 -0
  207. package/dist/src/alarms_and_conditions/condition.js.map +1 -0
  208. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -0
  209. package/dist/src/alarms_and_conditions/condition_info_impl.js +55 -0
  210. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +1 -0
  211. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +222 -0
  212. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +658 -0
  213. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -0
  214. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +9 -0
  215. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +61 -0
  216. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -0
  217. package/dist/src/alarms_and_conditions/index.d.ts +16 -0
  218. package/dist/src/alarms_and_conditions/index.js +33 -0
  219. package/dist/src/alarms_and_conditions/index.js.map +1 -0
  220. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +44 -0
  221. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +245 -0
  222. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -0
  223. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +93 -0
  224. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +419 -0
  225. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -0
  226. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +26 -0
  227. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +39 -0
  228. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -0
  229. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +44 -0
  230. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +184 -0
  231. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -0
  232. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +155 -0
  233. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1029 -0
  234. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -0
  235. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +14 -0
  236. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +35 -0
  237. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -0
  238. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +24 -0
  239. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +57 -0
  240. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -0
  241. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -0
  242. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +12 -0
  243. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -0
  244. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +23 -0
  245. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +87 -0
  246. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -0
  247. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +11 -0
  248. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +8 -0
  249. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -0
  250. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +79 -0
  251. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +251 -0
  252. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -0
  253. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +24 -0
  254. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +51 -0
  255. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -0
  256. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +19 -0
  257. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +163 -0
  258. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -0
  259. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +46 -0
  260. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +166 -0
  261. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -0
  262. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -0
  263. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +18 -0
  264. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -0
  265. package/dist/src/apply_condition_refresh.d.ts +6 -0
  266. package/dist/src/apply_condition_refresh.js +28 -0
  267. package/dist/src/apply_condition_refresh.js.map +1 -0
  268. package/dist/src/base_node_impl.d.ts +284 -0
  269. package/dist/src/base_node_impl.js +1455 -0
  270. package/dist/src/base_node_impl.js.map +1 -0
  271. package/dist/src/base_node_private.d.ts +81 -0
  272. package/dist/src/base_node_private.js +833 -0
  273. package/dist/src/base_node_private.js.map +1 -0
  274. package/dist/src/check_value_rank_compatibility.d.ts +15 -0
  275. package/dist/src/check_value_rank_compatibility.js +82 -0
  276. package/dist/src/check_value_rank_compatibility.js.map +1 -0
  277. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -0
  278. package/dist/src/data_access/add_dataItem_stuff.js +62 -0
  279. package/dist/src/data_access/add_dataItem_stuff.js.map +1 -0
  280. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -0
  281. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +35 -0
  282. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js.map +1 -0
  283. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -0
  284. package/dist/src/data_access/ua_multistate_discrete_impl.js +131 -0
  285. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -0
  286. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +52 -0
  287. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +254 -0
  288. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +1 -0
  289. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -0
  290. package/dist/src/data_access/ua_two_state_discrete_impl.js +156 -0
  291. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +1 -0
  292. package/dist/src/event_data.d.ts +34 -0
  293. package/dist/src/event_data.js +65 -0
  294. package/dist/src/event_data.js.map +1 -0
  295. package/dist/src/extension_object_array_node.d.ts +23 -0
  296. package/dist/src/extension_object_array_node.js +249 -0
  297. package/dist/src/extension_object_array_node.js.map +1 -0
  298. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -0
  299. package/dist/src/historical_access/address_space_historical_data_node.js +653 -0
  300. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -0
  301. package/dist/src/idx_iterator.d.ts +8 -0
  302. package/dist/src/idx_iterator.js +51 -0
  303. package/dist/src/idx_iterator.js.map +1 -0
  304. package/dist/src/index_current.d.ts +46 -0
  305. package/dist/src/index_current.js +78 -0
  306. package/dist/src/index_current.js.map +1 -0
  307. package/dist/src/namespace_impl.d.ts +456 -0
  308. package/dist/src/namespace_impl.js +1763 -0
  309. package/dist/src/namespace_impl.js.map +1 -0
  310. package/dist/src/namespace_private.d.ts +23 -0
  311. package/dist/src/namespace_private.js +33 -0
  312. package/dist/src/namespace_private.js.map +1 -0
  313. package/dist/src/nodeid_manager.d.ts +37 -0
  314. package/dist/src/nodeid_manager.js +184 -0
  315. package/dist/src/nodeid_manager.js.map +1 -0
  316. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -0
  317. package/dist/src/nodeset_tools/adjust_namespace_array.js +14 -0
  318. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +1 -0
  319. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +18 -0
  320. package/dist/src/nodeset_tools/construct_namespace_dependency.js +141 -0
  321. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +1 -0
  322. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +2 -0
  323. package/dist/src/nodeset_tools/dump_to_bsd.js +165 -0
  324. package/dist/src/nodeset_tools/dump_to_bsd.js.map +1 -0
  325. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +10 -0
  326. package/dist/src/nodeset_tools/nodeset_to_xml.js +1288 -0
  327. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -0
  328. package/dist/src/private_namespace.d.ts +5 -0
  329. package/dist/src/private_namespace.js +20 -0
  330. package/dist/src/private_namespace.js.map +1 -0
  331. package/dist/src/reference_impl.d.ts +43 -0
  332. package/dist/src/reference_impl.js +140 -0
  333. package/dist/src/reference_impl.js.map +1 -0
  334. package/dist/src/role_permissions.d.ts +2 -0
  335. package/dist/src/role_permissions.js +11 -0
  336. package/dist/src/role_permissions.js.map +1 -0
  337. package/dist/src/state_machine/finite_state_machine.d.ts +81 -0
  338. package/dist/src/state_machine/finite_state_machine.js +389 -0
  339. package/dist/src/state_machine/finite_state_machine.js.map +1 -0
  340. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +38 -0
  341. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +251 -0
  342. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -0
  343. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -0
  344. package/dist/src/state_machine/ua_two_state_variable.js +332 -0
  345. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -0
  346. package/dist/src/tool_isSubtypeOf.d.ts +18 -0
  347. package/dist/src/tool_isSubtypeOf.js +125 -0
  348. package/dist/src/tool_isSubtypeOf.js.map +1 -0
  349. package/dist/src/ua_condition_type.d.ts +8 -0
  350. package/dist/src/ua_condition_type.js +3 -0
  351. package/dist/src/ua_condition_type.js.map +1 -0
  352. package/dist/src/ua_data_type_impl.d.ts +89 -0
  353. package/dist/src/ua_data_type_impl.js +369 -0
  354. package/dist/src/ua_data_type_impl.js.map +1 -0
  355. package/dist/src/ua_method_impl.d.ts +42 -0
  356. package/dist/src/ua_method_impl.js +218 -0
  357. package/dist/src/ua_method_impl.js.map +1 -0
  358. package/dist/src/ua_object_impl.d.ts +35 -0
  359. package/dist/src/ua_object_impl.js +169 -0
  360. package/dist/src/ua_object_impl.js.map +1 -0
  361. package/dist/src/ua_object_type_impl.d.ts +50 -0
  362. package/dist/src/ua_object_type_impl.js +127 -0
  363. package/dist/src/ua_object_type_impl.js.map +1 -0
  364. package/dist/src/ua_reference_type_impl.d.ts +45 -0
  365. package/dist/src/ua_reference_type_impl.js +142 -0
  366. package/dist/src/ua_reference_type_impl.js.map +1 -0
  367. package/dist/src/ua_variable_impl.d.ts +380 -0
  368. package/dist/src/ua_variable_impl.js +1739 -0
  369. package/dist/src/ua_variable_impl.js.map +1 -0
  370. package/dist/src/ua_variable_impl_ext_obj.d.ts +23 -0
  371. package/dist/src/ua_variable_impl_ext_obj.js +671 -0
  372. package/dist/src/ua_variable_impl_ext_obj.js.map +1 -0
  373. package/dist/src/ua_variable_type_impl.d.ts +74 -0
  374. package/dist/src/ua_variable_type_impl.js +598 -0
  375. package/dist/src/ua_variable_type_impl.js.map +1 -0
  376. package/dist/src/ua_view_impl.d.ts +19 -0
  377. package/dist/src/ua_view_impl.js +44 -0
  378. package/dist/src/ua_view_impl.js.map +1 -0
  379. package/dist/tsconfig_common.tsbuildinfo +1 -0
  380. package/distHelpers/add_event_generator_object.d.ts +3 -0
  381. package/{test_helpers/add_event_generator_object.ts → distHelpers/add_event_generator_object.js} +16 -22
  382. package/distHelpers/add_event_generator_object.js.map +1 -0
  383. package/distHelpers/alarms_and_conditions_demo.d.ts +9 -0
  384. package/{test_helpers/alarms_and_conditions_demo.ts → distHelpers/alarms_and_conditions_demo.js} +21 -56
  385. package/distHelpers/alarms_and_conditions_demo.js.map +1 -0
  386. package/distHelpers/assertHasMatchingReference.d.ts +19 -0
  387. package/{test_helpers/assertHasMatchingReference.ts → distHelpers/assertHasMatchingReference.js} +12 -14
  388. package/distHelpers/assertHasMatchingReference.js.map +1 -0
  389. package/distHelpers/boiler_system.d.ts +113 -0
  390. package/{test_helpers/boiler_system.ts → distHelpers/boiler_system.js} +81 -295
  391. package/distHelpers/boiler_system.js.map +1 -0
  392. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -0
  393. package/{test_helpers/create_minimalist_address_space_nodeset.ts → distHelpers/create_minimalist_address_space_nodeset.js} +51 -87
  394. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -0
  395. package/distHelpers/date_utils.d.ts +3 -0
  396. package/distHelpers/date_utils.js +10 -0
  397. package/distHelpers/date_utils.js.map +1 -0
  398. package/distHelpers/dump_statemachine.d.ts +0 -0
  399. package/distHelpers/dump_statemachine.js +128 -0
  400. package/distHelpers/dump_statemachine.js.map +1 -0
  401. package/distHelpers/get_address_space_fixture.d.ts +1 -0
  402. package/{test_helpers/get_address_space_fixture.ts → distHelpers/get_address_space_fixture.js} +8 -7
  403. package/distHelpers/get_address_space_fixture.js.map +1 -0
  404. package/distHelpers/get_mini_address_space.d.ts +7 -0
  405. package/distHelpers/get_mini_address_space.js +37 -0
  406. package/distHelpers/get_mini_address_space.js.map +1 -0
  407. package/distHelpers/index.js +29 -0
  408. package/distHelpers/index.js.map +1 -0
  409. package/distHelpers/mock_session.d.ts +10 -0
  410. package/distHelpers/mock_session.js +26 -0
  411. package/distHelpers/mock_session.js.map +1 -0
  412. package/distNodeJS/generate_address_space.d.ts +6 -0
  413. package/distNodeJS/generate_address_space.js +53 -0
  414. package/distNodeJS/generate_address_space.js.map +1 -0
  415. package/distNodeJS/index.js +18 -0
  416. package/distNodeJS/index.js.map +1 -0
  417. package/package.json +49 -38
  418. package/source/helpers/dump_tools.ts +92 -0
  419. package/src/nodeset_tools/dump_to_bsd.ts +198 -0
  420. package/.mocharc.yml +0 -12
  421. package/generate.js +0 -1
  422. package/source_nodejs/generate_address_space.ts +0 -60
  423. package/test_helpers/date_utils.ts +0 -5
  424. package/test_helpers/get_mini_address_space.ts +0 -42
  425. package/test_helpers/mock_session.ts +0 -34
  426. package/test_helpers/test_fixtures/dataType_in_separateNamespace.xml +0 -150
  427. package/test_helpers/test_fixtures/dataType_in_separateNamespace_basic.xml +0 -57
  428. package/test_helpers/test_fixtures/dataType_in_separateNamespace_mix.xml +0 -136
  429. package/test_helpers/test_fixtures/dataType_issue.xml +0 -80
  430. package/test_helpers/test_fixtures/dataType_withEnumeration.xml +0 -82
  431. package/test_helpers/test_fixtures/dataType_with_isOptionSet.xml +0 -194
  432. package/test_helpers/test_fixtures/dataType_with_qualifiedname.xml +0 -71
  433. package/test_helpers/test_fixtures/dataType_with_recursive_structure.xml +0 -155
  434. package/test_helpers/test_fixtures/dataType_with_structures.xml +0 -605
  435. package/test_helpers/test_fixtures/dataType_with_union.xml +0 -90
  436. package/test_helpers/test_fixtures/datatype_as_per_1.04.xml +0 -118
  437. package/test_helpers/test_fixtures/datatype_with_allow_subtype.xml +0 -104
  438. package/test_helpers/test_fixtures/eurange_issue.xml +0 -74
  439. package/test_helpers/test_fixtures/example_issue1096.xml +0 -267
  440. package/test_helpers/test_fixtures/fixture_empty_nodeset2.xml +0 -106
  441. package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +0 -1305
  442. package/test_helpers/test_fixtures/fixuture_nodeset_objects_with_some_methods.xml +0 -370
  443. package/test_helpers/test_fixtures/issue_1132_variable_with_nodeid_value.xml +0 -68
  444. package/test_helpers/test_fixtures/issue_846.xml +0 -3172
  445. package/test_helpers/test_fixtures/issue_899_variable_with_nodeid_value.xml +0 -33
  446. package/test_helpers/test_fixtures/mini.Node.Set2.xml +0 -4736
  447. package/test_helpers/test_fixtures/mini.nodeset.withVariousVariables.xml +0 -196
  448. package/test_helpers/test_fixtures/minimalist_nodeset_with_models.xml +0 -8
  449. package/test_helpers/test_fixtures/minimalist_nodeset_with_models_more_complex.xml +0 -20
  450. package/test_helpers/test_fixtures/nodeset_no_aliases.xml +0 -30
  451. package/test_helpers/test_fixtures/nodeset_no_aliases_with_aliases.xml +0 -31
  452. package/test_helpers/test_fixtures/nodeset_with_analog_items.xml +0 -45
  453. package/test_helpers/test_fixtures/nodeset_with_guid.xml +0 -1442
  454. package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +0 -31
  455. package/test_helpers/test_fixtures/nodeset_with_special_char.xml +0 -34
  456. package/test_helpers/test_fixtures/nodeset_with_utf8_special_characters.xml +0 -20
  457. package/test_helpers/test_fixtures/variable_with_value.xml +0 -143
  458. package/test_helpers/test_fixtures/variabletype_with_value.xml +0 -324
  459. /package/{test_helpers/index.ts → distHelpers/index.d.ts} +0 -0
  460. /package/{source_nodejs/index.ts → distNodeJS/index.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_two_state_variable.js","sourceRoot":"","sources":["../../../src/state_machine/ua_two_state_variable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { NodeId, NodeIdLike } from "node-opcua-nodeid";
5
+ import { BaseNode, UADataType, UAObjectType, UAReferenceType, UAVariableType } from "node-opcua-address-space-base";
6
+ import { BaseNodeImpl } from "./base_node_impl";
7
+ export type BaseNodeConstructor<T extends BaseNode> = new () => T;
8
+ export type MemberFuncValue<T, P, R> = (this: T, param: P) => R;
9
+ export declare function wipeMemorizedStuff(node: any): void;
10
+ export type IsSubtypeOfFunc<T extends UAType> = (this: T, baseType: T) => boolean;
11
+ export type UAType = UAReferenceType | UADataType | UAObjectType | UAVariableType;
12
+ export declare function construct_isSubtypeOf<T extends UAType>(Class: typeof BaseNodeImpl): IsSubtypeOfFunc<T>;
13
+ export declare function construct_slow_isSubtypeOf<T extends UAType>(Class: typeof BaseNodeImpl): (this: T, baseType: T | NodeIdLike) => boolean;
14
+ /**
15
+ * returns the nodeId of the Type which is the super type of this
16
+ */
17
+ export declare function get_subtypeOf<T extends BaseNode>(this: T): NodeId | null;
18
+ export declare function get_subtypeOfObj(this: BaseNode): BaseNode | null;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * @module node-opcua-address-space
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.get_subtypeOfObj = exports.get_subtypeOf = exports.construct_slow_isSubtypeOf = exports.construct_isSubtypeOf = exports.wipeMemorizedStuff = void 0;
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
9
+ const node_opcua_nodeid_2 = require("node-opcua-nodeid");
10
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
11
+ const base_node_private_1 = require("./base_node_private");
12
+ const reference_impl_1 = require("./reference_impl");
13
+ const HasSubTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype");
14
+ function _filterSubType(reference) {
15
+ return (0, node_opcua_nodeid_2.sameNodeId)(reference.referenceType, HasSubTypeNodeId) && !reference.isForward;
16
+ }
17
+ function _slow_isSubtypeOf(Class, baseType) {
18
+ if (!(baseType instanceof Class)) {
19
+ const node = this.addressSpace.findNode(baseType);
20
+ if (!node || !(node instanceof Class)) {
21
+ throw new Error("Invalid argument");
22
+ }
23
+ return _slow_isSubtypeOf.call(this, Class, node);
24
+ }
25
+ (0, node_opcua_assert_1.assert)(this instanceof Class);
26
+ (0, node_opcua_assert_1.assert)(baseType instanceof Class, " Object must have same type");
27
+ (0, node_opcua_assert_1.assert)(this.addressSpace);
28
+ if ((0, node_opcua_nodeid_2.sameNodeId)(this.nodeId, baseType.nodeId)) {
29
+ return true;
30
+ }
31
+ const references = this.allReferences();
32
+ const subTypes = references.filter(_filterSubType);
33
+ (0, node_opcua_assert_1.assert)(subTypes.length <= 1, "should have zero or one subtype no more");
34
+ for (const subType1 of subTypes) {
35
+ const subTypeId = subType1.nodeId;
36
+ const subTypeNode = this.addressSpace.findNode(subTypeId);
37
+ // istanbul ignore next
38
+ if (!subTypeNode) {
39
+ throw new Error("Cannot find object with nodeId " + subTypeId.toString());
40
+ }
41
+ if ((0, node_opcua_nodeid_2.sameNodeId)(subTypeNode.nodeId, baseType.nodeId)) {
42
+ return true;
43
+ }
44
+ else {
45
+ if (_slow_isSubtypeOf.call(subTypeNode, Class, baseType)) {
46
+ return true;
47
+ }
48
+ }
49
+ }
50
+ return false;
51
+ }
52
+ function wipeMemorizedStuff(node) {
53
+ if (!node.__cache) {
54
+ node.__cache = undefined;
55
+ }
56
+ }
57
+ exports.wipeMemorizedStuff = wipeMemorizedStuff;
58
+ // http://jsperf.com/underscore-js-memoize-refactor-test
59
+ // http://addyosmani.com/blog/faster-javascript-memoization/
60
+ function wrap_memoize(func, hashFunc) {
61
+ if (undefined === hashFunc) {
62
+ hashFunc = (_p) => _p.toString();
63
+ }
64
+ return function memoize(param) {
65
+ if (!this.__cache) {
66
+ this.__cache = {};
67
+ }
68
+ const hash = hashFunc.call(this, param);
69
+ let cache_value = this.__cache[hash];
70
+ if (cache_value === undefined) {
71
+ cache_value = func.call(this, param);
72
+ this.__cache[hash] = cache_value;
73
+ }
74
+ return cache_value;
75
+ };
76
+ }
77
+ function hashBaseNode(e) {
78
+ return e.nodeId.value.toString();
79
+ }
80
+ function construct_isSubtypeOf(Class) {
81
+ return wrap_memoize(function (baseType) {
82
+ if (!(baseType instanceof Class)) {
83
+ throw new Error("expecting baseType to be " +
84
+ Class.name +
85
+ " but got " +
86
+ baseType.toString() +
87
+ " " +
88
+ node_opcua_data_model_1.NodeClass[baseType.nodeClass]);
89
+ }
90
+ if (!(this instanceof Class)) {
91
+ throw new Error("expecting this to be " + Class.name + " but got " + baseType.toString());
92
+ }
93
+ return _slow_isSubtypeOf.call(this, Class, baseType);
94
+ }, hashBaseNode);
95
+ }
96
+ exports.construct_isSubtypeOf = construct_isSubtypeOf;
97
+ function construct_slow_isSubtypeOf(Class) {
98
+ return function (baseType) {
99
+ return _slow_isSubtypeOf.call(this, Class, baseType);
100
+ };
101
+ }
102
+ exports.construct_slow_isSubtypeOf = construct_slow_isSubtypeOf;
103
+ /**
104
+ * returns the nodeId of the Type which is the super type of this
105
+ */
106
+ function get_subtypeOf() {
107
+ const s = get_subtypeOfObj.call(this);
108
+ return s ? s.nodeId : null;
109
+ }
110
+ exports.get_subtypeOf = get_subtypeOf;
111
+ function get_subtypeOfObj() {
112
+ const _cache = (0, base_node_private_1.BaseNode_getCache)(this);
113
+ if (!_cache._subtypeOfObj) {
114
+ const is_subtype_of_ref = this.findReference("HasSubtype", false);
115
+ if (is_subtype_of_ref) {
116
+ _cache._subtypeOfObj = reference_impl_1.ReferenceImpl.resolveReferenceNode(this.addressSpace, is_subtype_of_ref);
117
+ }
118
+ else {
119
+ _cache._subtypeOfObj = null;
120
+ }
121
+ }
122
+ return _cache._subtypeOfObj;
123
+ }
124
+ exports.get_subtypeOfObj = get_subtypeOfObj;
125
+ //# sourceMappingURL=tool_isSubtypeOf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool_isSubtypeOf.js","sourceRoot":"","sources":["../../src/tool_isSubtypeOf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { UAMethod, UAObjectType } from "node-opcua-address-space-base";
2
+ export interface UAConditionType extends UAObjectType {
3
+ disable: UAMethod;
4
+ enable: UAMethod;
5
+ conditionRefresh: UAMethod;
6
+ conditionRefresh2: UAMethod;
7
+ addComment: UAMethod;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ua_condition_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_condition_type.js","sourceRoot":"","sources":["../../src/ua_condition_type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,89 @@
1
+ import { NodeClass, QualifiedNameLike } from "node-opcua-data-model";
2
+ import { AttributeIds } from "node-opcua-data-model";
3
+ import { DataValue } from "node-opcua-data-value";
4
+ import { ExpandedNodeId, NodeId } from "node-opcua-nodeid";
5
+ import { NumericRange } from "node-opcua-numeric-range";
6
+ import { DataTypeDefinition, EnumDefinition, EnumFieldOptions, StructureDefinition, StructureFieldOptions } from "node-opcua-types";
7
+ import { DataType } from "node-opcua-variant";
8
+ import { UAObject, ISessionContext, UADataType, BaseNode } from "node-opcua-address-space-base";
9
+ import { ExtensionObjectConstructorFuncWithSchema } from "../source/interfaces/extension_object_constructor";
10
+ import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
11
+ import { ToStringOption } from "./base_node_private";
12
+ import * as tools from "./tool_isSubtypeOf";
13
+ export interface UADataTypeImpl {
14
+ _extensionObjectConstructor: ExtensionObjectConstructorFuncWithSchema;
15
+ }
16
+ export interface IEnumItem {
17
+ name: string;
18
+ value: number;
19
+ }
20
+ export interface EnumerationInfo {
21
+ nameIndex: {
22
+ [id: string]: IEnumItem;
23
+ };
24
+ valueIndex: {
25
+ [id: number]: IEnumItem;
26
+ };
27
+ }
28
+ export interface UADataTypeOptions extends InternalBaseNodeOptions {
29
+ partialDefinition: StructureFieldOptions[] | EnumFieldOptions[];
30
+ isUnion?: boolean;
31
+ isAbstract?: boolean;
32
+ symbolicName?: string;
33
+ }
34
+ export declare class UADataTypeImpl extends BaseNodeImpl implements UADataType {
35
+ readonly nodeClass = NodeClass.DataType;
36
+ readonly definitionName: string;
37
+ readonly symbolicName: string;
38
+ /**
39
+ * returns true if this is a super type of baseType
40
+ *
41
+ * @example
42
+ *
43
+ * var dataTypeDouble = addressSpace.findDataType("Double");
44
+ * var dataTypeNumber = addressSpace.findDataType("Number");
45
+ * assert(dataTypeDouble.isSubtypeOf(dataTypeNumber));
46
+ * assert(!dataTypeNumber.isSubtypeOf(dataTypeDouble));
47
+ *
48
+ */
49
+ get subtypeOf(): NodeId | null;
50
+ get subtypeOfObj(): UADataType | null;
51
+ /** @deprecated */
52
+ isSupertypeOf: tools.IsSubtypeOfFunc<UADataType>;
53
+ isSubtypeOf: tools.IsSubtypeOfFunc<UADataType>;
54
+ readonly isAbstract: boolean;
55
+ private $isUnion?;
56
+ private enumStrings?;
57
+ private enumValues?;
58
+ private $partialDefinition?;
59
+ private $fullDefinition?;
60
+ constructor(options: UADataTypeOptions);
61
+ get basicDataType(): DataType;
62
+ getBasicDataType(): DataType;
63
+ readAttribute(context: ISessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
64
+ getEncodingDefinition(encoding_name: string): string | null;
65
+ getEncodingNode(encoding_name: string): UAObject | null;
66
+ getEncodingNodeId(encoding_name: string): ExpandedNodeId | null;
67
+ /**
68
+ * returns the encoding of this node's
69
+ * TODO objects have 2 encodings : XML and Binaries
70
+ */
71
+ get binaryEncoding(): BaseNode | null;
72
+ get binaryEncodingDefinition(): string | null;
73
+ get binaryEncodingNodeId(): ExpandedNodeId | null;
74
+ get xmlEncoding(): BaseNode | null;
75
+ get xmlEncodingNodeId(): ExpandedNodeId | null;
76
+ get xmlEncodingDefinition(): string | null;
77
+ get jsonEncoding(): BaseNode | null;
78
+ get jsonEncodingNodeId(): ExpandedNodeId | null;
79
+ _getEnumerationInfo(): EnumerationInfo;
80
+ isStructure(): boolean;
81
+ getStructureDefinition(): StructureDefinition;
82
+ isEnumeration(): boolean;
83
+ getEnumDefinition(): EnumDefinition;
84
+ _getDefinition(): DataTypeDefinition | null;
85
+ getDefinition(): DataTypeDefinition;
86
+ install_extra_properties(): void;
87
+ toString(): string;
88
+ }
89
+ export declare function DataType_toString(this: UADataTypeImpl, options: ToStringOption): void;
@@ -0,0 +1,369 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataType_toString = exports.UADataTypeImpl = void 0;
4
+ /**
5
+ * @module node-opcua-address-space
6
+ */
7
+ const chalk = require("chalk");
8
+ const node_opcua_assert_1 = require("node-opcua-assert");
9
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
10
+ const node_opcua_data_model_2 = require("node-opcua-data-model");
11
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
12
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
13
+ const node_opcua_numeric_range_1 = require("node-opcua-numeric-range");
14
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
15
+ const node_opcua_types_1 = require("node-opcua-types");
16
+ const node_opcua_variant_1 = require("node-opcua-variant");
17
+ const node_opcua_constants_1 = require("node-opcua-constants");
18
+ const session_context_1 = require("../source/session_context");
19
+ const base_node_impl_1 = require("./base_node_impl");
20
+ const base_node_private_1 = require("./base_node_private");
21
+ const tools = require("./tool_isSubtypeOf");
22
+ const tool_isSubtypeOf_1 = require("./tool_isSubtypeOf");
23
+ const tool_isSubtypeOf_2 = require("./tool_isSubtypeOf");
24
+ const base_node_private_2 = require("./base_node_private");
25
+ class UADataTypeImpl extends base_node_impl_1.BaseNodeImpl {
26
+ /**
27
+ * returns true if this is a super type of baseType
28
+ *
29
+ * @example
30
+ *
31
+ * var dataTypeDouble = addressSpace.findDataType("Double");
32
+ * var dataTypeNumber = addressSpace.findDataType("Number");
33
+ * assert(dataTypeDouble.isSubtypeOf(dataTypeNumber));
34
+ * assert(!dataTypeNumber.isSubtypeOf(dataTypeDouble));
35
+ *
36
+ */
37
+ get subtypeOf() {
38
+ return tool_isSubtypeOf_1.get_subtypeOf.call(this);
39
+ }
40
+ get subtypeOfObj() {
41
+ return tool_isSubtypeOf_2.get_subtypeOfObj.call(this);
42
+ }
43
+ constructor(options) {
44
+ super(options);
45
+ this.nodeClass = node_opcua_data_model_1.NodeClass.DataType;
46
+ this.definitionName = "";
47
+ /** @deprecated */
48
+ this.isSupertypeOf = tools.construct_isSubtypeOf(UADataTypeImpl);
49
+ this.isSubtypeOf = tools.construct_isSubtypeOf(UADataTypeImpl);
50
+ if (options.partialDefinition) {
51
+ this.$partialDefinition = options.partialDefinition;
52
+ this.$isUnion = options.isUnion;
53
+ }
54
+ this.isAbstract = options.isAbstract === undefined || options.isAbstract === null ? false : options.isAbstract;
55
+ this.symbolicName = options.symbolicName || this.browseName.name;
56
+ }
57
+ get basicDataType() {
58
+ return this.getBasicDataType();
59
+ }
60
+ getBasicDataType() {
61
+ return this.addressSpace.findCorrespondingBasicDataType(this);
62
+ }
63
+ readAttribute(context, attributeId, indexRange, dataEncoding) {
64
+ var _a;
65
+ (0, node_opcua_assert_1.assert)(!context || context instanceof session_context_1.SessionContext);
66
+ const options = {};
67
+ switch (attributeId) {
68
+ case node_opcua_data_model_2.AttributeIds.IsAbstract:
69
+ options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
70
+ options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: !!this.isAbstract };
71
+ break;
72
+ case node_opcua_data_model_2.AttributeIds.DataTypeDefinition:
73
+ {
74
+ const _definition = (_a = this._getDefinition()) === null || _a === void 0 ? void 0 : _a.clone();
75
+ if (_definition) {
76
+ options.value = { dataType: node_opcua_variant_1.DataType.ExtensionObject, value: _definition };
77
+ }
78
+ else {
79
+ options.statusCode = node_opcua_status_code_1.StatusCodes.BadAttributeIdInvalid;
80
+ }
81
+ }
82
+ break;
83
+ default:
84
+ return super.readAttribute(context, attributeId, indexRange, dataEncoding);
85
+ }
86
+ return new node_opcua_data_value_1.DataValue(options);
87
+ }
88
+ getEncodingDefinition(encoding_name) {
89
+ const encodingNode = this.getEncodingNode(encoding_name);
90
+ if (!encodingNode) {
91
+ throw new Error("Cannot find Encoding for " + encoding_name);
92
+ }
93
+ const indexRange = new node_opcua_numeric_range_1.NumericRange();
94
+ const descriptionNodeRef = encodingNode.findReferences("HasDescription")[0];
95
+ const descriptionNode = this.addressSpace.findNode(descriptionNodeRef.nodeId);
96
+ if (!descriptionNode) {
97
+ return null;
98
+ }
99
+ const dataValue = descriptionNode.readValue(session_context_1.SessionContext.defaultContext, indexRange);
100
+ return dataValue.value.value.toString() || null;
101
+ }
102
+ getEncodingNode(encoding_name) {
103
+ const _cache = (0, base_node_private_2.BaseNode_getCache)(this);
104
+ _cache._encoding = _cache._encoding || {};
105
+ const key = encoding_name + "Node";
106
+ if (_cache._encoding[key] === undefined) {
107
+ (0, node_opcua_assert_1.assert)(encoding_name === "Default Binary" || encoding_name === "Default XML" || encoding_name === "Default JSON");
108
+ // could be binary or xml
109
+ const refs = this.findReferences("HasEncoding", true);
110
+ const addressSpace = this.addressSpace;
111
+ const encoding = refs
112
+ .map((ref) => addressSpace.findNode(ref.nodeId))
113
+ .filter((obj) => obj !== null)
114
+ .filter((obj) => obj.browseName.toString() === encoding_name);
115
+ const node = encoding.length === 0 ? null : encoding[0];
116
+ _cache._encoding[key] = node;
117
+ }
118
+ return _cache._encoding[key];
119
+ }
120
+ getEncodingNodeId(encoding_name) {
121
+ const encoding = this.getEncodingNode(encoding_name);
122
+ if (!encoding) {
123
+ return null;
124
+ }
125
+ const namespaceUri = this.addressSpace.getNamespaceUri(encoding.nodeId.namespace);
126
+ return node_opcua_nodeid_1.ExpandedNodeId.fromNodeId(encoding.nodeId, namespaceUri);
127
+ }
128
+ /**
129
+ * returns the encoding of this node's
130
+ * TODO objects have 2 encodings : XML and Binaries
131
+ */
132
+ get binaryEncoding() {
133
+ return this.getEncodingNode("Default Binary");
134
+ }
135
+ get binaryEncodingDefinition() {
136
+ return this.getEncodingDefinition("Default Binary");
137
+ }
138
+ get binaryEncodingNodeId() {
139
+ return this.getEncodingNodeId("Default Binary");
140
+ }
141
+ get xmlEncoding() {
142
+ return this.getEncodingNode("Default XML");
143
+ }
144
+ get xmlEncodingNodeId() {
145
+ return this.getEncodingNodeId("Default XML");
146
+ }
147
+ get xmlEncodingDefinition() {
148
+ return this.getEncodingDefinition("Default XML");
149
+ }
150
+ get jsonEncoding() {
151
+ return this.getEncodingNode("Default JSON");
152
+ }
153
+ get jsonEncodingNodeId() {
154
+ return this.getEncodingNodeId("Default JSON");
155
+ }
156
+ // public get jsonEncodingDefinition(): string | null {
157
+ // return this.getEncodingDefinition("Default JSON");
158
+ // }
159
+ _getEnumerationInfo() {
160
+ let definition = [];
161
+ if (this.enumStrings) {
162
+ const enumStrings = this.enumStrings.readValue().value.value;
163
+ (0, node_opcua_assert_1.assert)(Array.isArray(enumStrings));
164
+ definition = enumStrings.map((e, index) => {
165
+ return {
166
+ name: e.text,
167
+ value: index
168
+ };
169
+ });
170
+ }
171
+ else if (this.enumValues) {
172
+ (0, node_opcua_assert_1.assert)(this.enumValues, "must have a enumValues property");
173
+ const enumValues = this.enumValues.readValue().value.value;
174
+ (0, node_opcua_assert_1.assert)(Array.isArray(enumValues));
175
+ definition = enumValues.map((e) => {
176
+ return {
177
+ name: e.displayName.text,
178
+ value: e.value[1]
179
+ };
180
+ });
181
+ }
182
+ // construct nameIndex and valueIndex
183
+ const indexes = {
184
+ nameIndex: {},
185
+ valueIndex: {}
186
+ };
187
+ for (const e of definition) {
188
+ indexes.nameIndex[e.name] = e;
189
+ indexes.valueIndex[e.value] = e;
190
+ }
191
+ return indexes;
192
+ }
193
+ isStructure() {
194
+ const definition = this._getDefinition();
195
+ return !!definition && definition instanceof node_opcua_types_1.StructureDefinition;
196
+ }
197
+ getStructureDefinition() {
198
+ const definition = this._getDefinition();
199
+ (0, node_opcua_assert_1.assert)(definition instanceof node_opcua_types_1.StructureDefinition);
200
+ return definition;
201
+ }
202
+ isEnumeration() {
203
+ const definition = this._getDefinition();
204
+ return !!definition && definition instanceof node_opcua_types_1.EnumDefinition;
205
+ }
206
+ getEnumDefinition() {
207
+ const definition = this._getDefinition();
208
+ (0, node_opcua_assert_1.assert)(definition instanceof node_opcua_types_1.EnumDefinition);
209
+ return definition;
210
+ }
211
+ // eslint-disable-next-line complexity
212
+ _getDefinition() {
213
+ var _a;
214
+ if (this.$fullDefinition !== undefined) {
215
+ return this.$fullDefinition;
216
+ }
217
+ const addressSpace = this.addressSpace;
218
+ const enumeration = addressSpace.findDataType("Enumeration");
219
+ const structure = addressSpace.findDataType("Structure");
220
+ const union = addressSpace.findDataType("Union");
221
+ // we have a data type from a companion specification
222
+ // let's see if this data type need to be registered
223
+ const isEnumeration = enumeration && this.isSubtypeOf(enumeration);
224
+ const isStructure = structure && this.isSubtypeOf(structure);
225
+ const isUnion = !!(structure && union && this.isSubtypeOf(union));
226
+ const isRootDataType = (n) => n.nodeId.namespace === 0 && n.nodeId.value === node_opcua_constants_1.DataTypeIds.BaseDataType;
227
+ // https://reference.opcfoundation.org/v104/Core/docs/Part3/8.49/#Table34
228
+ if (isStructure) {
229
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
230
+ let dataTypeNode = this;
231
+ const allPartialDefinitions = [];
232
+ while (dataTypeNode && !isRootDataType(dataTypeNode)) {
233
+ if (dataTypeNode.$partialDefinition) {
234
+ allPartialDefinitions.push(dataTypeNode.$partialDefinition);
235
+ }
236
+ dataTypeNode = dataTypeNode.subtypeOfObj;
237
+ }
238
+ // merge them:
239
+ const definitionFields = [];
240
+ for (const dd of allPartialDefinitions.reverse()) {
241
+ definitionFields.push(...dd);
242
+ }
243
+ const basicDataType = ((_a = this.subtypeOfObj) === null || _a === void 0 ? void 0 : _a.nodeId) || new node_opcua_nodeid_1.NodeId();
244
+ const defaultEncodingId = this.binaryEncodingNodeId || this.xmlEncodingNodeId || new node_opcua_nodeid_1.NodeId();
245
+ const definitionName = this.browseName.name;
246
+ this.$fullDefinition = makeStructureDefinition(definitionName, basicDataType, defaultEncodingId, definitionFields, isUnion);
247
+ }
248
+ else if (isEnumeration) {
249
+ const allPartialDefinitions = [];
250
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
251
+ let dataTypeNode = this;
252
+ while (dataTypeNode && !isRootDataType(dataTypeNode)) {
253
+ if (dataTypeNode.$partialDefinition) {
254
+ allPartialDefinitions.push(dataTypeNode.$partialDefinition);
255
+ }
256
+ dataTypeNode = dataTypeNode.subtypeOfObj;
257
+ }
258
+ // merge them:
259
+ const definitionFields = [];
260
+ for (const dd of allPartialDefinitions.reverse()) {
261
+ definitionFields.push(...dd);
262
+ }
263
+ this.$fullDefinition = makeEnumDefinition(definitionFields);
264
+ }
265
+ return this.$fullDefinition;
266
+ }
267
+ getDefinition() {
268
+ const d = this._getDefinition();
269
+ if (!d) {
270
+ throw new Error("DataType has no definition property");
271
+ }
272
+ return d;
273
+ }
274
+ install_extra_properties() {
275
+ //
276
+ }
277
+ toString() {
278
+ const options = new base_node_private_1.ToStringBuilder();
279
+ DataType_toString.call(this, options);
280
+ return options.toString();
281
+ }
282
+ }
283
+ exports.UADataTypeImpl = UADataTypeImpl;
284
+ function dataTypeDefinition_toString(options) {
285
+ const definition = this._getDefinition();
286
+ if (!definition) {
287
+ return;
288
+ }
289
+ const output = definition.toString();
290
+ options.add(options.padding + chalk.yellow(" Definition : "));
291
+ for (const str of output.split("\n")) {
292
+ options.add(options.padding + chalk.yellow(" : " + str));
293
+ }
294
+ }
295
+ function DataType_toString(options) {
296
+ base_node_private_1.BaseNode_toString.call(this, options);
297
+ options.add(options.padding + chalk.yellow(" isAbstract : " + this.isAbstract));
298
+ options.add(options.padding + chalk.yellow(" definitionName : " + this.definitionName));
299
+ options.add(options.padding +
300
+ chalk.yellow(" binaryEncodingNodeId: ") +
301
+ (this.binaryEncodingNodeId ? this.binaryEncodingNodeId.toString() : "<none>"));
302
+ options.add(options.padding +
303
+ chalk.yellow(" xmlEncodingNodeId : ") +
304
+ (this.xmlEncodingNodeId ? this.xmlEncodingNodeId.toString() : "<none>"));
305
+ options.add(options.padding +
306
+ chalk.yellow(" jsonEncodingNodeId : ") +
307
+ (this.jsonEncodingNodeId ? this.jsonEncodingNodeId.toString() : "<none>"));
308
+ if (this.subtypeOfObj) {
309
+ options.add(options.padding +
310
+ chalk.yellow(" subtypeOfObj : ") +
311
+ (this.subtypeOfObj ? this.subtypeOfObj.browseName.toString() : ""));
312
+ }
313
+ // references
314
+ base_node_private_1.BaseNode_References_toString.call(this, options);
315
+ dataTypeDefinition_toString.call(this, options);
316
+ }
317
+ exports.DataType_toString = DataType_toString;
318
+ function makeEnumDefinition(definitionFields) {
319
+ return new node_opcua_types_1.EnumDefinition({
320
+ fields: definitionFields.map((x) => ({
321
+ description: x.description,
322
+ name: x.name,
323
+ value: x.value
324
+ }))
325
+ });
326
+ }
327
+ function makeStructureDefinition(name, baseDataType, defaultEncodingId, fields, isUnion) {
328
+ // Structure = 0,
329
+ // StructureWithOptionalFields = 1,
330
+ // Union = 2,
331
+ const hasOptionalFields = fields.filter((field) => field.isOptional).length > 0;
332
+ const structureType = isUnion
333
+ ? node_opcua_types_1.StructureType.Union
334
+ : hasOptionalFields
335
+ ? node_opcua_types_1.StructureType.StructureWithOptionalFields
336
+ : node_opcua_types_1.StructureType.Structure;
337
+ const sd = new node_opcua_types_1.StructureDefinition({
338
+ baseDataType,
339
+ defaultEncodingId,
340
+ fields,
341
+ structureType
342
+ });
343
+ return sd;
344
+ }
345
+ /*
346
+ function lockReadOnlyWithWriteDetection<T>(obj: T): T {
347
+ if (obj instanceof Array) {
348
+ return obj.map(lockReadOnlyWithWriteDetection) as unknown as T;
349
+ }
350
+ if (obj instanceof Object) {
351
+ const _org = obj;
352
+ for (const [key, value] of Object.entries(obj)) {
353
+ lockReadOnlyWithWriteDetection(value);
354
+ }
355
+ obj = new Proxy(obj, {
356
+ get: (target: any, prop: string) => {
357
+ return target[prop];
358
+ },
359
+ set: (target: any, prop: string | symbol, value: any, receiver: any) => {
360
+ console.log("QQQQQ Cannot modify stuff ");
361
+ debugger;
362
+ throw new Error("Invalid");
363
+ }
364
+ });
365
+ }
366
+ return obj;
367
+ }
368
+ */
369
+ //# sourceMappingURL=ua_data_type_impl.js.map