node-opcua-address-space 2.76.1 → 2.76.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 (289) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +33 -33
  8. package/dist/source/helpers/argument_list.js +258 -258
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -0
  12. package/dist/source/helpers/check_event_clause.js +53 -0
  13. package/dist/source/helpers/check_event_clause.js.map +1 -0
  14. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  15. package/dist/source/helpers/coerce_enum_value.js +33 -33
  16. package/dist/source/helpers/dump_tools.d.ts +14 -14
  17. package/dist/source/helpers/dump_tools.js +78 -78
  18. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  19. package/dist/source/helpers/ensure_secure_access.js +76 -76
  20. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  21. package/dist/source/helpers/make_optionals_map.js +29 -29
  22. package/dist/source/helpers/multiform_func.d.ts +11 -11
  23. package/dist/source/helpers/multiform_func.js +75 -75
  24. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  25. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  26. package/dist/source/index.d.ts +56 -56
  27. package/dist/source/index.js +83 -83
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +19 -19
  29. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  30. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +193 -193
  31. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +2 -2
  32. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -12
  33. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +2 -2
  34. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +10 -10
  35. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +2 -2
  36. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -7
  37. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +2 -2
  38. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -7
  39. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +2 -2
  40. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -4
  41. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +2 -2
  42. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -4
  43. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +2 -2
  44. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -9
  45. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +2 -2
  46. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -4
  47. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +2 -2
  48. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -4
  49. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +2 -2
  50. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -20
  51. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +2 -2
  52. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -23
  53. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +2 -2
  54. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -32
  55. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +2 -2
  56. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -19
  57. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +2 -2
  58. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +42 -42
  59. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +2 -2
  60. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -7
  61. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +25 -25
  62. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -5
  63. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +2 -2
  64. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -20
  65. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +2 -2
  66. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -26
  67. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +2 -2
  68. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -8
  69. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +2 -2
  70. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -10
  71. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +2 -2
  72. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  73. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  74. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  75. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  76. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  77. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  78. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  79. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  80. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  81. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  82. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  83. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  84. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  85. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  86. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -30
  87. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +2 -2
  88. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  89. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  90. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  91. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  92. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  93. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  94. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  95. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  96. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  97. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  98. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  99. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  100. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  101. package/dist/source/loader/load_nodeset2.js +1461 -1461
  102. package/dist/source/loader/make_semver_compatible.d.ts +6 -6
  103. package/dist/source/loader/make_semver_compatible.js +25 -25
  104. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  105. package/dist/source/loader/make_xml_extension_object_parser.js +325 -325
  106. package/dist/source/loader/namespace_post_step.d.ts +10 -10
  107. package/dist/source/loader/namespace_post_step.js +61 -61
  108. package/dist/source/loader/register_node_promoter.d.ts +2 -2
  109. package/dist/source/loader/register_node_promoter.js +9 -9
  110. package/dist/source/namespace.d.ts +6 -6
  111. package/dist/source/namespace.js +2 -2
  112. package/dist/source/namespace_alarm_and_condition.d.ts +32 -32
  113. package/dist/source/namespace_alarm_and_condition.js +2 -2
  114. package/dist/source/namespace_data_access.d.ts +42 -42
  115. package/dist/source/namespace_data_access.js +2 -2
  116. package/dist/source/namespace_machine_state.d.ts +7 -7
  117. package/dist/source/namespace_machine_state.js +2 -2
  118. package/dist/source/pseudo_session.d.ts +55 -55
  119. package/dist/source/pseudo_session.js +203 -203
  120. package/dist/source/session_context.d.ts +111 -111
  121. package/dist/source/session_context.js +265 -265
  122. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  123. package/dist/source/set_namespace_meta_data.js +59 -59
  124. package/dist/source/ua_root_folder.d.ts +9 -9
  125. package/dist/source/ua_root_folder.js +2 -2
  126. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  127. package/dist/source/ua_two_state_variable_ex.js +2 -2
  128. package/dist/source/xml_writer.d.ts +9 -9
  129. package/dist/source/xml_writer.js +2 -2
  130. package/dist/src/address_space.d.ts +392 -392
  131. package/dist/src/address_space.js +1392 -1392
  132. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  133. package/dist/src/address_space_change_event_tools.js +149 -149
  134. package/dist/src/address_space_private.d.ts +43 -43
  135. package/dist/src/address_space_private.js +2 -2
  136. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -0
  137. package/dist/src/alarms_and_conditions/check_where_clause.js +110 -0
  138. package/dist/src/alarms_and_conditions/check_where_clause.js.map +1 -0
  139. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  140. package/dist/src/alarms_and_conditions/condition.js +78 -78
  141. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -0
  142. package/dist/src/alarms_and_conditions/condition_info.js +55 -0
  143. package/dist/src/alarms_and_conditions/condition_info.js.map +1 -0
  144. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -26
  145. package/dist/src/alarms_and_conditions/condition_info_impl.js +54 -54
  146. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -0
  147. package/dist/src/alarms_and_conditions/condition_snapshot.js +667 -0
  148. package/dist/src/alarms_and_conditions/condition_snapshot.js.map +1 -0
  149. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +222 -222
  150. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +657 -657
  151. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +9 -9
  152. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +61 -61
  153. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -0
  154. package/dist/src/alarms_and_conditions/extract_event_fields.js +90 -0
  155. package/dist/src/alarms_and_conditions/extract_event_fields.js.map +1 -0
  156. package/dist/src/alarms_and_conditions/index.d.ts +16 -16
  157. package/dist/src/alarms_and_conditions/index.js +32 -32
  158. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +44 -44
  159. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  160. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +93 -93
  161. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +419 -419
  162. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +26 -26
  163. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  164. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +44 -44
  165. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +183 -183
  166. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +153 -153
  167. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1028 -1028
  168. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +14 -14
  169. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +34 -34
  170. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +24 -24
  171. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  172. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -11
  173. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  174. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +23 -23
  175. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  176. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +11 -11
  177. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  178. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +79 -79
  179. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  180. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +24 -24
  181. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  182. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +19 -19
  183. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  184. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +46 -46
  185. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +166 -166
  186. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -18
  187. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  188. package/dist/src/apply_condition_refresh.d.ts +6 -6
  189. package/dist/src/apply_condition_refresh.js +27 -27
  190. package/dist/src/base_node_impl.d.ts +281 -281
  191. package/dist/src/base_node_impl.js +1395 -1395
  192. package/dist/src/base_node_private.d.ts +61 -61
  193. package/dist/src/base_node_private.js +705 -705
  194. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  195. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  196. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  197. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  198. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  199. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  200. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -0
  201. package/dist/src/data_access/ua_multistate_value_discrete.js +250 -0
  202. package/dist/src/data_access/ua_multistate_value_discrete.js.map +1 -0
  203. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +51 -51
  204. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +249 -249
  205. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -0
  206. package/dist/src/data_access/ua_two_state_discrete.js +154 -0
  207. package/dist/src/data_access/ua_two_state_discrete.js.map +1 -0
  208. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -25
  209. package/dist/src/data_access/ua_two_state_discrete_impl.js +153 -153
  210. package/dist/src/event_data.d.ts +34 -34
  211. package/dist/src/event_data.js +64 -64
  212. package/dist/src/extension_object_array_node.d.ts +61 -61
  213. package/dist/src/extension_object_array_node.js +276 -276
  214. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  215. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  216. package/dist/src/index_current.d.ts +43 -43
  217. package/dist/src/index_current.js +74 -74
  218. package/dist/src/namespace_impl.d.ts +461 -461
  219. package/dist/src/namespace_impl.js +1732 -1732
  220. package/dist/src/namespace_private.d.ts +21 -21
  221. package/dist/src/namespace_private.js +32 -32
  222. package/dist/src/nodeid_manager.d.ts +36 -36
  223. package/dist/src/nodeid_manager.js +197 -197
  224. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  225. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  226. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  227. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  228. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  229. package/dist/src/nodeset_tools/nodeset_to_xml.js +1155 -1155
  230. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  231. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  232. package/dist/src/reference_impl.d.ts +43 -43
  233. package/dist/src/reference_impl.js +139 -139
  234. package/dist/src/role_permissions.d.ts +2 -2
  235. package/dist/src/role_permissions.js +10 -10
  236. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  237. package/dist/src/state_machine/finite_state_machine.js +353 -353
  238. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +38 -38
  239. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  240. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  241. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  242. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  243. package/dist/src/tool_isSupertypeOf.js +108 -108
  244. package/dist/src/ua_condition_type.d.ts +8 -8
  245. package/dist/src/ua_condition_type.js +2 -2
  246. package/dist/src/ua_data_type_impl.d.ts +93 -93
  247. package/dist/src/ua_data_type_impl.js +371 -371
  248. package/dist/src/ua_method_impl.d.ts +41 -41
  249. package/dist/src/ua_method_impl.js +208 -208
  250. package/dist/src/ua_object_impl.d.ts +35 -35
  251. package/dist/src/ua_object_impl.js +161 -161
  252. package/dist/src/ua_object_type_impl.d.ts +48 -48
  253. package/dist/src/ua_object_type_impl.js +124 -124
  254. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  255. package/dist/src/ua_reference_type_impl.js +139 -139
  256. package/dist/src/ua_variable_impl.d.ts +351 -351
  257. package/dist/src/ua_variable_impl.js +1604 -1604
  258. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  259. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  260. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  261. package/dist/src/ua_variable_type_impl.js +570 -570
  262. package/dist/src/ua_view_impl.d.ts +19 -19
  263. package/dist/src/ua_view_impl.js +43 -43
  264. package/distHelpers/add_event_generator_object.d.ts +3 -3
  265. package/distHelpers/add_event_generator_object.js +64 -64
  266. package/distHelpers/alarms_and_conditions_demo.d.ts +9 -9
  267. package/distHelpers/alarms_and_conditions_demo.js +115 -115
  268. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  269. package/distHelpers/assertHasMatchingReference.js +40 -40
  270. package/distHelpers/boiler_system.d.ts +113 -113
  271. package/distHelpers/boiler_system.js +395 -395
  272. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  273. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  274. package/distHelpers/date_utils.d.ts +3 -3
  275. package/distHelpers/date_utils.js +9 -9
  276. package/distHelpers/dump_statemachine.js +127 -127
  277. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  278. package/distHelpers/get_address_space_fixture.js +30 -30
  279. package/distHelpers/get_mini_address_space.d.ts +7 -7
  280. package/distHelpers/get_mini_address_space.js +36 -36
  281. package/distHelpers/index.d.ts +12 -12
  282. package/distHelpers/index.js +28 -28
  283. package/distHelpers/mock_session.d.ts +14 -14
  284. package/distHelpers/mock_session.js +25 -25
  285. package/distNodeJS/generate_address_space.d.ts +4 -4
  286. package/distNodeJS/generate_address_space.js +41 -41
  287. package/distNodeJS/index.d.ts +1 -1
  288. package/distNodeJS/index.js +17 -17
  289. package/package.json +36 -35
@@ -1,204 +1,204 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PseudoSession = void 0;
4
- /**
5
- * @module node-opcua-address-space
6
- */
7
- const util_1 = require("util");
8
- const async = require("async");
9
- const node_opcua_assert_1 = require("node-opcua-assert");
10
- const node_opcua_data_value_1 = require("node-opcua-data-value");
11
- const node_opcua_debug_1 = require("node-opcua-debug");
12
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
13
- const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
14
- const node_opcua_service_browse_1 = require("node-opcua-service-browse");
15
- const node_opcua_service_call_1 = require("node-opcua-service-call");
16
- const node_opcua_status_code_1 = require("node-opcua-status-code");
17
- const node_opcua_data_model_1 = require("node-opcua-data-model");
18
- const node_opcua_basic_types_1 = require("node-opcua-basic-types");
19
- const continuation_point_manager_1 = require("./continuation_points/continuation_point_manager");
20
- const call_helpers_1 = require("./helpers/call_helpers");
21
- const session_context_1 = require("./session_context");
22
- const errorLog = (0, node_opcua_debug_1.make_errorLog)("PseudoSession");
23
- /**
24
- * Pseudo session is an helper object that exposes the same async methods
25
- * than the ClientSession. It can be used on a server address space.
26
- *
27
- * Code reused !
28
- * The primary benefit of this object is that its makes advanced OPCUA
29
- * operations that uses browse, translate, read, write etc similar
30
- * whether we work inside a server or through a client session.
31
- *
32
- */
33
- class PseudoSession {
34
- constructor(addressSpace, context) {
35
- this.requestedMaxReferencesPerNode = 0;
36
- this._sessionId = new node_opcua_nodeid_1.NodeId(node_opcua_nodeid_1.NodeIdType.GUID, (0, node_opcua_basic_types_1.randomGuid)());
37
- this.addressSpace = addressSpace;
38
- this.context = context || session_context_1.SessionContext.defaultContext;
39
- this.continuationPointManager = new continuation_point_manager_1.ContinuationPointManager();
40
- }
41
- getSessionId() {
42
- return this._sessionId;
43
- }
44
- browse(nodesToBrowse, callback) {
45
- setImmediate(() => {
46
- const isArray = Array.isArray(nodesToBrowse);
47
- if (!isArray) {
48
- nodesToBrowse = [nodesToBrowse];
49
- }
50
- let results = [];
51
- for (const browseDescription of nodesToBrowse) {
52
- browseDescription.referenceTypeId = (0, node_opcua_nodeid_1.resolveNodeId)(browseDescription.referenceTypeId);
53
- const _browseDescription = browseDescription instanceof node_opcua_service_browse_1.BrowseDescription ? browseDescription : new node_opcua_service_browse_1.BrowseDescription(browseDescription);
54
- const nodeId = (0, node_opcua_nodeid_1.resolveNodeId)(_browseDescription.nodeId);
55
- const r = this.addressSpace.browseSingleNode(nodeId, _browseDescription, this.context);
56
- results.push(r);
57
- }
58
- // handle continuation points
59
- results = results.map((result, index) => {
60
- (0, node_opcua_assert_1.assert)(!result.continuationPoint);
61
- const r = this.continuationPointManager.registerReferences(this.requestedMaxReferencesPerNode, result.references || [], { continuationPoint: null, index });
62
- let { statusCode } = r;
63
- const { continuationPoint, values } = r;
64
- (0, node_opcua_assert_1.assert)(statusCode === node_opcua_status_code_1.StatusCodes.Good || statusCode === node_opcua_status_code_1.StatusCodes.GoodNoData);
65
- statusCode = result.statusCode;
66
- return new node_opcua_service_browse_1.BrowseResult({
67
- statusCode,
68
- continuationPoint,
69
- references: values
70
- });
71
- });
72
- callback(null, isArray ? results : results[0]);
73
- });
74
- }
75
- read(nodesToRead, callback) {
76
- const isArray = Array.isArray(nodesToRead);
77
- if (!isArray) {
78
- nodesToRead = [nodesToRead];
79
- }
80
- const _nodesToRead = nodesToRead;
81
- const context = this.context;
82
- setImmediate(() => {
83
- async.map(_nodesToRead, (nodeToRead, innerCallback) => {
84
- const obj = this.addressSpace.findNode(nodeToRead.nodeId);
85
- if (!obj || obj.nodeClass !== node_opcua_data_model_1.NodeClass.Variable || nodeToRead.attributeId !== node_opcua_data_model_1.AttributeIds.Value) {
86
- return innerCallback();
87
- }
88
- obj.readValueAsync(context, innerCallback);
89
- }, (err) => {
90
- const dataValues = _nodesToRead.map((nodeToRead) => {
91
- (0, node_opcua_assert_1.assert)(!!nodeToRead.nodeId, "expecting a nodeId");
92
- (0, node_opcua_assert_1.assert)(!!nodeToRead.attributeId, "expecting a attributeId");
93
- const nodeId = nodeToRead.nodeId;
94
- const attributeId = nodeToRead.attributeId;
95
- const indexRange = nodeToRead.indexRange;
96
- const dataEncoding = nodeToRead.dataEncoding;
97
- const obj = this.addressSpace.findNode(nodeId);
98
- if (!obj) {
99
- return new node_opcua_data_value_1.DataValue({ statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown });
100
- }
101
- const context = this.context;
102
- const dataValue = obj.readAttribute(context, attributeId, indexRange, dataEncoding);
103
- return dataValue;
104
- });
105
- callback(null, isArray ? dataValues : dataValues[0]);
106
- });
107
- });
108
- }
109
- browseNext(continuationPoints, releaseContinuationPoints, callback) {
110
- setImmediate(() => {
111
- if (continuationPoints instanceof Buffer) {
112
- return this.browseNext([continuationPoints], releaseContinuationPoints, (err, _results) => {
113
- if (err) {
114
- return callback(err);
115
- }
116
- callback(null, _results[0]);
117
- });
118
- }
119
- const results = continuationPoints
120
- .map((continuationPoint, index) => {
121
- return this.continuationPointManager.getNextReferences(0, {
122
- continuationPoint,
123
- index,
124
- releaseContinuationPoints
125
- });
126
- })
127
- .map((r) => new node_opcua_service_browse_1.BrowseResult({
128
- statusCode: r.statusCode,
129
- continuationPoint: r.continuationPoint,
130
- references: r.values
131
- }));
132
- callback(null, results);
133
- });
134
- }
135
- call(methodsToCall, callback) {
136
- const isArray = Array.isArray(methodsToCall);
137
- if (!isArray) {
138
- methodsToCall = [methodsToCall];
139
- }
140
- async.map(methodsToCall, (methodToCall, innerCallback) => {
141
- const callMethodRequest = new node_opcua_service_call_1.CallMethodRequest(methodToCall);
142
- (0, call_helpers_1.callMethodHelper)(this.context, this.addressSpace, callMethodRequest, (err, result) => {
143
- let callMethodResult;
144
- if (err) {
145
- errorLog("Internal Error = ", err);
146
- callMethodResult = new node_opcua_service_call_1.CallMethodResult({
147
- statusCode: node_opcua_status_code_1.StatusCodes.BadInternalError
148
- });
149
- }
150
- else {
151
- callMethodResult = new node_opcua_service_call_1.CallMethodResult(result);
152
- }
153
- innerCallback(null, callMethodResult);
154
- });
155
- }, (err, callMethodResults) => {
156
- callback(null, isArray ? callMethodResults : callMethodResults[0]);
157
- });
158
- }
159
- getArgumentDefinition(methodId, callback) {
160
- return (0, node_opcua_pseudo_session_1.getArgumentDefinitionHelper)(this, methodId, callback);
161
- }
162
- translateBrowsePath(browsePaths, callback) {
163
- const isArray = Array.isArray(browsePaths);
164
- if (!isArray) {
165
- browsePaths = [browsePaths];
166
- }
167
- const browsePathResults = browsePaths.map((browsePath) => {
168
- return this.addressSpace.browsePath(browsePath);
169
- });
170
- callback(null, isArray ? browsePathResults : browsePathResults[0]);
171
- }
172
- write(nodesToWrite, callback) {
173
- const isArray = nodesToWrite instanceof Array;
174
- const _nodesToWrite = !isArray ? [nodesToWrite] : nodesToWrite;
175
- const context = this.context;
176
- setImmediate(() => {
177
- const statusCodesPromises = _nodesToWrite.map((nodeToWrite) => {
178
- (0, node_opcua_assert_1.assert)(!!nodeToWrite.nodeId, "expecting a nodeId");
179
- (0, node_opcua_assert_1.assert)(!!nodeToWrite.attributeId, "expecting a attributeId");
180
- const nodeId = nodeToWrite.nodeId;
181
- const obj = this.addressSpace.findNode(nodeId);
182
- if (!obj) {
183
- return node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown;
184
- }
185
- return (0, util_1.promisify)(obj.writeAttribute).call(obj, context, nodeToWrite);
186
- });
187
- Promise.all(statusCodesPromises).then((statusCodes) => {
188
- callback(null, isArray ? statusCodes : statusCodes[0]);
189
- });
190
- });
191
- }
192
- }
193
- exports.PseudoSession = PseudoSession;
194
- // tslint:disable:no-var-requires
195
- // tslint:disable:max-line-length
196
- const thenify = require("thenify");
197
- PseudoSession.prototype.read = thenify.withCallback(PseudoSession.prototype.read);
198
- PseudoSession.prototype.write = thenify.withCallback(PseudoSession.prototype.write);
199
- PseudoSession.prototype.browse = thenify.withCallback(PseudoSession.prototype.browse);
200
- PseudoSession.prototype.browseNext = thenify.withCallback(PseudoSession.prototype.browseNext);
201
- PseudoSession.prototype.getArgumentDefinition = thenify.withCallback(PseudoSession.prototype.getArgumentDefinition);
202
- PseudoSession.prototype.call = thenify.withCallback(PseudoSession.prototype.call);
203
- PseudoSession.prototype.translateBrowsePath = thenify.withCallback(PseudoSession.prototype.translateBrowsePath);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PseudoSession = void 0;
4
+ /**
5
+ * @module node-opcua-address-space
6
+ */
7
+ const util_1 = require("util");
8
+ const async = require("async");
9
+ const node_opcua_assert_1 = require("node-opcua-assert");
10
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
11
+ const node_opcua_debug_1 = require("node-opcua-debug");
12
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
13
+ const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
14
+ const node_opcua_service_browse_1 = require("node-opcua-service-browse");
15
+ const node_opcua_service_call_1 = require("node-opcua-service-call");
16
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
17
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
18
+ const node_opcua_basic_types_1 = require("node-opcua-basic-types");
19
+ const continuation_point_manager_1 = require("./continuation_points/continuation_point_manager");
20
+ const call_helpers_1 = require("./helpers/call_helpers");
21
+ const session_context_1 = require("./session_context");
22
+ const errorLog = (0, node_opcua_debug_1.make_errorLog)("PseudoSession");
23
+ /**
24
+ * Pseudo session is an helper object that exposes the same async methods
25
+ * than the ClientSession. It can be used on a server address space.
26
+ *
27
+ * Code reused !
28
+ * The primary benefit of this object is that its makes advanced OPCUA
29
+ * operations that uses browse, translate, read, write etc similar
30
+ * whether we work inside a server or through a client session.
31
+ *
32
+ */
33
+ class PseudoSession {
34
+ constructor(addressSpace, context) {
35
+ this.requestedMaxReferencesPerNode = 0;
36
+ this._sessionId = new node_opcua_nodeid_1.NodeId(node_opcua_nodeid_1.NodeIdType.GUID, (0, node_opcua_basic_types_1.randomGuid)());
37
+ this.addressSpace = addressSpace;
38
+ this.context = context || session_context_1.SessionContext.defaultContext;
39
+ this.continuationPointManager = new continuation_point_manager_1.ContinuationPointManager();
40
+ }
41
+ getSessionId() {
42
+ return this._sessionId;
43
+ }
44
+ browse(nodesToBrowse, callback) {
45
+ setImmediate(() => {
46
+ const isArray = Array.isArray(nodesToBrowse);
47
+ if (!isArray) {
48
+ nodesToBrowse = [nodesToBrowse];
49
+ }
50
+ let results = [];
51
+ for (const browseDescription of nodesToBrowse) {
52
+ browseDescription.referenceTypeId = (0, node_opcua_nodeid_1.resolveNodeId)(browseDescription.referenceTypeId);
53
+ const _browseDescription = browseDescription instanceof node_opcua_service_browse_1.BrowseDescription ? browseDescription : new node_opcua_service_browse_1.BrowseDescription(browseDescription);
54
+ const nodeId = (0, node_opcua_nodeid_1.resolveNodeId)(_browseDescription.nodeId);
55
+ const r = this.addressSpace.browseSingleNode(nodeId, _browseDescription, this.context);
56
+ results.push(r);
57
+ }
58
+ // handle continuation points
59
+ results = results.map((result, index) => {
60
+ (0, node_opcua_assert_1.assert)(!result.continuationPoint);
61
+ const r = this.continuationPointManager.registerReferences(this.requestedMaxReferencesPerNode, result.references || [], { continuationPoint: null, index });
62
+ let { statusCode } = r;
63
+ const { continuationPoint, values } = r;
64
+ (0, node_opcua_assert_1.assert)(statusCode === node_opcua_status_code_1.StatusCodes.Good || statusCode === node_opcua_status_code_1.StatusCodes.GoodNoData);
65
+ statusCode = result.statusCode;
66
+ return new node_opcua_service_browse_1.BrowseResult({
67
+ statusCode,
68
+ continuationPoint,
69
+ references: values
70
+ });
71
+ });
72
+ callback(null, isArray ? results : results[0]);
73
+ });
74
+ }
75
+ read(nodesToRead, callback) {
76
+ const isArray = Array.isArray(nodesToRead);
77
+ if (!isArray) {
78
+ nodesToRead = [nodesToRead];
79
+ }
80
+ const _nodesToRead = nodesToRead;
81
+ const context = this.context;
82
+ setImmediate(() => {
83
+ async.map(_nodesToRead, (nodeToRead, innerCallback) => {
84
+ const obj = this.addressSpace.findNode(nodeToRead.nodeId);
85
+ if (!obj || obj.nodeClass !== node_opcua_data_model_1.NodeClass.Variable || nodeToRead.attributeId !== node_opcua_data_model_1.AttributeIds.Value) {
86
+ return innerCallback();
87
+ }
88
+ obj.readValueAsync(context, innerCallback);
89
+ }, (err) => {
90
+ const dataValues = _nodesToRead.map((nodeToRead) => {
91
+ (0, node_opcua_assert_1.assert)(!!nodeToRead.nodeId, "expecting a nodeId");
92
+ (0, node_opcua_assert_1.assert)(!!nodeToRead.attributeId, "expecting a attributeId");
93
+ const nodeId = nodeToRead.nodeId;
94
+ const attributeId = nodeToRead.attributeId;
95
+ const indexRange = nodeToRead.indexRange;
96
+ const dataEncoding = nodeToRead.dataEncoding;
97
+ const obj = this.addressSpace.findNode(nodeId);
98
+ if (!obj) {
99
+ return new node_opcua_data_value_1.DataValue({ statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown });
100
+ }
101
+ const context = this.context;
102
+ const dataValue = obj.readAttribute(context, attributeId, indexRange, dataEncoding);
103
+ return dataValue;
104
+ });
105
+ callback(null, isArray ? dataValues : dataValues[0]);
106
+ });
107
+ });
108
+ }
109
+ browseNext(continuationPoints, releaseContinuationPoints, callback) {
110
+ setImmediate(() => {
111
+ if (continuationPoints instanceof Buffer) {
112
+ return this.browseNext([continuationPoints], releaseContinuationPoints, (err, _results) => {
113
+ if (err) {
114
+ return callback(err);
115
+ }
116
+ callback(null, _results[0]);
117
+ });
118
+ }
119
+ const results = continuationPoints
120
+ .map((continuationPoint, index) => {
121
+ return this.continuationPointManager.getNextReferences(0, {
122
+ continuationPoint,
123
+ index,
124
+ releaseContinuationPoints
125
+ });
126
+ })
127
+ .map((r) => new node_opcua_service_browse_1.BrowseResult({
128
+ statusCode: r.statusCode,
129
+ continuationPoint: r.continuationPoint,
130
+ references: r.values
131
+ }));
132
+ callback(null, results);
133
+ });
134
+ }
135
+ call(methodsToCall, callback) {
136
+ const isArray = Array.isArray(methodsToCall);
137
+ if (!isArray) {
138
+ methodsToCall = [methodsToCall];
139
+ }
140
+ async.map(methodsToCall, (methodToCall, innerCallback) => {
141
+ const callMethodRequest = new node_opcua_service_call_1.CallMethodRequest(methodToCall);
142
+ (0, call_helpers_1.callMethodHelper)(this.context, this.addressSpace, callMethodRequest, (err, result) => {
143
+ let callMethodResult;
144
+ if (err) {
145
+ errorLog("Internal Error = ", err);
146
+ callMethodResult = new node_opcua_service_call_1.CallMethodResult({
147
+ statusCode: node_opcua_status_code_1.StatusCodes.BadInternalError
148
+ });
149
+ }
150
+ else {
151
+ callMethodResult = new node_opcua_service_call_1.CallMethodResult(result);
152
+ }
153
+ innerCallback(null, callMethodResult);
154
+ });
155
+ }, (err, callMethodResults) => {
156
+ callback(null, isArray ? callMethodResults : callMethodResults[0]);
157
+ });
158
+ }
159
+ getArgumentDefinition(methodId, callback) {
160
+ return (0, node_opcua_pseudo_session_1.getArgumentDefinitionHelper)(this, methodId, callback);
161
+ }
162
+ translateBrowsePath(browsePaths, callback) {
163
+ const isArray = Array.isArray(browsePaths);
164
+ if (!isArray) {
165
+ browsePaths = [browsePaths];
166
+ }
167
+ const browsePathResults = browsePaths.map((browsePath) => {
168
+ return this.addressSpace.browsePath(browsePath);
169
+ });
170
+ callback(null, isArray ? browsePathResults : browsePathResults[0]);
171
+ }
172
+ write(nodesToWrite, callback) {
173
+ const isArray = nodesToWrite instanceof Array;
174
+ const _nodesToWrite = !isArray ? [nodesToWrite] : nodesToWrite;
175
+ const context = this.context;
176
+ setImmediate(() => {
177
+ const statusCodesPromises = _nodesToWrite.map((nodeToWrite) => {
178
+ (0, node_opcua_assert_1.assert)(!!nodeToWrite.nodeId, "expecting a nodeId");
179
+ (0, node_opcua_assert_1.assert)(!!nodeToWrite.attributeId, "expecting a attributeId");
180
+ const nodeId = nodeToWrite.nodeId;
181
+ const obj = this.addressSpace.findNode(nodeId);
182
+ if (!obj) {
183
+ return node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown;
184
+ }
185
+ return (0, util_1.promisify)(obj.writeAttribute).call(obj, context, nodeToWrite);
186
+ });
187
+ Promise.all(statusCodesPromises).then((statusCodes) => {
188
+ callback(null, isArray ? statusCodes : statusCodes[0]);
189
+ });
190
+ });
191
+ }
192
+ }
193
+ exports.PseudoSession = PseudoSession;
194
+ // tslint:disable:no-var-requires
195
+ // tslint:disable:max-line-length
196
+ const thenify = require("thenify");
197
+ PseudoSession.prototype.read = thenify.withCallback(PseudoSession.prototype.read);
198
+ PseudoSession.prototype.write = thenify.withCallback(PseudoSession.prototype.write);
199
+ PseudoSession.prototype.browse = thenify.withCallback(PseudoSession.prototype.browse);
200
+ PseudoSession.prototype.browseNext = thenify.withCallback(PseudoSession.prototype.browseNext);
201
+ PseudoSession.prototype.getArgumentDefinition = thenify.withCallback(PseudoSession.prototype.getArgumentDefinition);
202
+ PseudoSession.prototype.call = thenify.withCallback(PseudoSession.prototype.call);
203
+ PseudoSession.prototype.translateBrowsePath = thenify.withCallback(PseudoSession.prototype.translateBrowsePath);
204
204
  //# sourceMappingURL=pseudo_session.js.map
@@ -1,111 +1,111 @@
1
- /**
2
- * @module node-opcua-address-space
3
- */
4
- import { AccessRestrictionsFlag, PermissionFlag } from "node-opcua-data-model";
5
- import { PreciseClock } from "node-opcua-date-time";
6
- import { NodeId, NodeIdLike } from "node-opcua-nodeid";
7
- import { PermissionType, RolePermissionType } from "node-opcua-types";
8
- import { ISessionContext, UAObject, UAObjectType, BaseNode, ISessionBase } from "node-opcua-address-space-base";
9
- export { RolePermissionType, RolePermissionTypeOptions, PermissionType } from "node-opcua-types";
10
- /**
11
- *
12
- */
13
- export declare enum WellKnownRoles {
14
- Anonymous = 15644,
15
- AuthenticatedUser = 15656,
16
- ConfigureAdmin = 15716,
17
- Engineer = 16036,
18
- Observer = 15668,
19
- Operator = 15680,
20
- SecurityAdmin = 15704,
21
- Supervisor = 15692
22
- }
23
- export declare enum WellKnownRolesNodeId {
24
- Anonymous = 15644,
25
- AuthenticatedUser = 15656,
26
- ConfigureAdmin = 15716,
27
- Engineer = 16036,
28
- Observer = 15668,
29
- Operator = 15680,
30
- SecurityAdmin = 15704,
31
- Supervisor = 15692
32
- }
33
- /**
34
- * OPC Unified Architecture, Part 3 13 Release 1.04
35
- * 4.8.2 Well Known Roles
36
- * All Servers should support the well-known Roles which are defined in Table 2. The NodeIds
37
- * for the well-known Roles are defined in Part 6.
38
- * Table 2 – Well-Known Roles
39
- * BrowseName Suggested Permissions
40
- *
41
- * Anonymous The Role has very limited access for use when a Session has anonymous credentials.
42
- * AuthenticatedUser The Role has limited access for use when a Session has valid non-anonymous credentials
43
- * but has not been explicitly granted access to a Role.
44
- * Observer The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.
45
- * Operator The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.
46
- * In addition, the Session is allowed to write some live data and call some Methods.
47
- * Engineer The Role is allowed to browse, read/write configuration data, read historical data/events,
48
- * call Methods or subscribe to data/events.
49
- * Supervisor The Role is allowed to browse, read live data, read historical data/events, call Methods or
50
- * subscribe to data/events.
51
- * ConfigureAdmin The Role is allowed to change the non-security related config
52
- * SecurityAdmin The Role is allowed to change security related settings.
53
- */
54
- export declare type WellKnownRolesSemiColumnSeparated = string;
55
- export interface IUserManager {
56
- /**
57
- * retrieve the roles of the given user
58
- * @returns semicolon separated list of roles
59
- */
60
- getUserRoles?: (user: string) => NodeId[];
61
- }
62
- export interface IServerBase {
63
- userManager?: IUserManager;
64
- }
65
- export interface SessionContextOptions {
66
- session?: ISessionBase;
67
- object?: UAObject | UAObjectType;
68
- server?: IServerBase;
69
- }
70
- export declare function makeRoles(roleIds: NodeIdLike[] | string | WellKnownRoles): NodeId[];
71
- export declare class SessionContext implements ISessionContext {
72
- static defaultContext: SessionContext;
73
- object: any;
74
- currentTime?: PreciseClock;
75
- continuationPoints: any;
76
- userIdentity?: string;
77
- readonly session?: ISessionBase;
78
- readonly server?: IServerBase;
79
- constructor(options?: SessionContextOptions);
80
- /**
81
- * getCurrentUserRoles
82
- *
83
- * guest => anonymous user (unauthenticated)
84
- * default => default authenticated user
85
- *
86
- */
87
- getCurrentUserRoles(): NodeId[];
88
- getApplicableRolePermissions(node: BaseNode): RolePermissionType[] | null;
89
- getPermissions(node: BaseNode): PermissionFlag;
90
- getAccessRestrictions(node: BaseNode): AccessRestrictionsFlag;
91
- /**
92
- *
93
- * @param node
94
- * @returns true if the browse is denied (access is restricted)
95
- */
96
- isBrowseAccessRestricted(node: BaseNode): boolean;
97
- /**
98
- *
99
- * @param node
100
- * @returns true if the context is access restricted
101
- */
102
- isAccessRestricted(node: BaseNode): boolean;
103
- /**
104
- * @method checkPermission
105
- * @param node
106
- * @param requestedPermission
107
- * @return {Boolean} returns true of the current user is granted the requested Permission
108
- */
109
- checkPermission(node: BaseNode, requestedPermission: PermissionType): boolean;
110
- currentUserHasRole(role: NodeIdLike): boolean;
111
- }
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { AccessRestrictionsFlag, PermissionFlag } from "node-opcua-data-model";
5
+ import { PreciseClock } from "node-opcua-date-time";
6
+ import { NodeId, NodeIdLike } from "node-opcua-nodeid";
7
+ import { PermissionType, RolePermissionType } from "node-opcua-types";
8
+ import { ISessionContext, UAObject, UAObjectType, BaseNode, ISessionBase } from "node-opcua-address-space-base";
9
+ export { RolePermissionType, RolePermissionTypeOptions, PermissionType } from "node-opcua-types";
10
+ /**
11
+ *
12
+ */
13
+ export declare enum WellKnownRoles {
14
+ Anonymous = 15644,
15
+ AuthenticatedUser = 15656,
16
+ ConfigureAdmin = 15716,
17
+ Engineer = 16036,
18
+ Observer = 15668,
19
+ Operator = 15680,
20
+ SecurityAdmin = 15704,
21
+ Supervisor = 15692
22
+ }
23
+ export declare enum WellKnownRolesNodeId {
24
+ Anonymous = 15644,
25
+ AuthenticatedUser = 15656,
26
+ ConfigureAdmin = 15716,
27
+ Engineer = 16036,
28
+ Observer = 15668,
29
+ Operator = 15680,
30
+ SecurityAdmin = 15704,
31
+ Supervisor = 15692
32
+ }
33
+ /**
34
+ * OPC Unified Architecture, Part 3 13 Release 1.04
35
+ * 4.8.2 Well Known Roles
36
+ * All Servers should support the well-known Roles which are defined in Table 2. The NodeIds
37
+ * for the well-known Roles are defined in Part 6.
38
+ * Table 2 – Well-Known Roles
39
+ * BrowseName Suggested Permissions
40
+ *
41
+ * Anonymous The Role has very limited access for use when a Session has anonymous credentials.
42
+ * AuthenticatedUser The Role has limited access for use when a Session has valid non-anonymous credentials
43
+ * but has not been explicitly granted access to a Role.
44
+ * Observer The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.
45
+ * Operator The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.
46
+ * In addition, the Session is allowed to write some live data and call some Methods.
47
+ * Engineer The Role is allowed to browse, read/write configuration data, read historical data/events,
48
+ * call Methods or subscribe to data/events.
49
+ * Supervisor The Role is allowed to browse, read live data, read historical data/events, call Methods or
50
+ * subscribe to data/events.
51
+ * ConfigureAdmin The Role is allowed to change the non-security related config
52
+ * SecurityAdmin The Role is allowed to change security related settings.
53
+ */
54
+ export declare type WellKnownRolesSemiColumnSeparated = string;
55
+ export interface IUserManager {
56
+ /**
57
+ * retrieve the roles of the given user
58
+ * @returns semicolon separated list of roles
59
+ */
60
+ getUserRoles?: (user: string) => NodeId[];
61
+ }
62
+ export interface IServerBase {
63
+ userManager?: IUserManager;
64
+ }
65
+ export interface SessionContextOptions {
66
+ session?: ISessionBase;
67
+ object?: UAObject | UAObjectType;
68
+ server?: IServerBase;
69
+ }
70
+ export declare function makeRoles(roleIds: NodeIdLike[] | string | WellKnownRoles): NodeId[];
71
+ export declare class SessionContext implements ISessionContext {
72
+ static defaultContext: SessionContext;
73
+ object: any;
74
+ currentTime?: PreciseClock;
75
+ continuationPoints: any;
76
+ userIdentity?: string;
77
+ readonly session?: ISessionBase;
78
+ readonly server?: IServerBase;
79
+ constructor(options?: SessionContextOptions);
80
+ /**
81
+ * getCurrentUserRoles
82
+ *
83
+ * guest => anonymous user (unauthenticated)
84
+ * default => default authenticated user
85
+ *
86
+ */
87
+ getCurrentUserRoles(): NodeId[];
88
+ getApplicableRolePermissions(node: BaseNode): RolePermissionType[] | null;
89
+ getPermissions(node: BaseNode): PermissionFlag;
90
+ getAccessRestrictions(node: BaseNode): AccessRestrictionsFlag;
91
+ /**
92
+ *
93
+ * @param node
94
+ * @returns true if the browse is denied (access is restricted)
95
+ */
96
+ isBrowseAccessRestricted(node: BaseNode): boolean;
97
+ /**
98
+ *
99
+ * @param node
100
+ * @returns true if the context is access restricted
101
+ */
102
+ isAccessRestricted(node: BaseNode): boolean;
103
+ /**
104
+ * @method checkPermission
105
+ * @param node
106
+ * @param requestedPermission
107
+ * @return {Boolean} returns true of the current user is granted the requested Permission
108
+ */
109
+ checkPermission(node: BaseNode, requestedPermission: PermissionType): boolean;
110
+ currentUserHasRole(role: NodeIdLike): boolean;
111
+ }