node-opcua-address-space 2.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.mocharc.yml +12 -0
- package/LICENSE +20 -0
- package/dist/source/address_space_ts.d.ts +122 -0
- package/dist/source/address_space_ts.js +18 -0
- package/dist/source/address_space_ts.js.map +1 -0
- package/dist/source/continuation_points/continuation_point_manager.d.ts +21 -0
- package/dist/source/continuation_points/continuation_point_manager.js +100 -0
- package/dist/source/continuation_points/continuation_point_manager.js.map +1 -0
- package/dist/source/helpers/adjust_browse_direction.d.ts +5 -0
- package/dist/source/helpers/adjust_browse_direction.js +12 -0
- package/dist/source/helpers/adjust_browse_direction.js.map +1 -0
- package/dist/source/helpers/argument_list.d.ts +30 -0
- package/dist/source/helpers/argument_list.js +237 -0
- package/dist/source/helpers/argument_list.js.map +1 -0
- package/dist/source/helpers/call_helpers.d.ts +6 -0
- package/dist/source/helpers/call_helpers.js +71 -0
- package/dist/source/helpers/call_helpers.js.map +1 -0
- package/dist/source/helpers/check_event_clause.d.ts +17 -0
- package/dist/source/helpers/check_event_clause.js +53 -0
- package/dist/source/helpers/check_event_clause.js.map +1 -0
- package/dist/source/helpers/coerce_enum_value.d.ts +6 -0
- package/dist/source/helpers/coerce_enum_value.js +34 -0
- package/dist/source/helpers/coerce_enum_value.js.map +1 -0
- package/dist/source/helpers/dump_tools.d.ts +14 -0
- package/dist/source/helpers/dump_tools.js +79 -0
- package/dist/source/helpers/dump_tools.js.map +1 -0
- package/dist/source/helpers/ensure_secure_access.d.ts +9 -0
- package/dist/source/helpers/ensure_secure_access.js +90 -0
- package/dist/source/helpers/ensure_secure_access.js.map +1 -0
- package/dist/source/helpers/make_optionals_map.d.ts +21 -0
- package/dist/source/helpers/make_optionals_map.js +30 -0
- package/dist/source/helpers/make_optionals_map.js.map +1 -0
- package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -0
- package/dist/source/helpers/resolve_opaque_on_address_space.js +37 -0
- package/dist/source/helpers/resolve_opaque_on_address_space.js.map +1 -0
- package/dist/source/index.d.ts +39 -0
- package/dist/source/index.js +62 -0
- package/dist/source/index.js.map +1 -0
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -0
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +3 -0
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -0
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +1 -0
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +3 -0
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +4 -0
- package/dist/source/interfaces/data_access/ua_discrete_item.js +3 -0
- package/dist/source/interfaces/data_access/ua_discrete_item.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +25 -0
- package/dist/source/interfaces/data_access/ua_multistate_discrete.js +3 -0
- package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -0
- package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +3 -0
- package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +27 -0
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +3 -0
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -0
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +3 -0
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +17 -0
- package/dist/source/interfaces/data_access/ua_two_state_discrete.js +3 -0
- package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -0
- package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +3 -0
- package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +4 -0
- package/dist/source/interfaces/data_access/ua_y_array_item.js +3 -0
- package/dist/source/interfaces/data_access/ua_y_array_item.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -0
- package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +3 -0
- package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +1 -0
- package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +11 -0
- package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +3 -0
- package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +1 -0
- package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +69 -0
- package/dist/source/interfaces/state_machine/finite_state_machine.js +3 -0
- package/dist/source/interfaces/state_machine/finite_state_machine.js.map +1 -0
- package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +74 -0
- package/dist/source/interfaces/state_machine/program_finite_state_machine.js +3 -0
- package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +1 -0
- package/dist/source/interfaces/state_machine/state_machine.d.ts +342 -0
- package/dist/source/interfaces/state_machine/state_machine.js +3 -0
- package/dist/source/interfaces/state_machine/state_machine.js.map +1 -0
- package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -0
- package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +3 -0
- package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +1 -0
- package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -0
- package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +3 -0
- package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +1 -0
- package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +18 -0
- package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +3 -0
- package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +1 -0
- package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -0
- package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +3 -0
- package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +1 -0
- package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -0
- package/dist/source/interfaces/state_machine/ua_state_machine_type.js +3 -0
- package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +1 -0
- package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +29 -0
- package/dist/source/interfaces/state_machine/ua_state_variable.js +3 -0
- package/dist/source/interfaces/state_machine/ua_state_variable.js.map +1 -0
- package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -0
- package/dist/source/interfaces/state_machine/ua_transition_ex.js +3 -0
- package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +1 -0
- package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +26 -0
- package/dist/source/interfaces/state_machine/ua_two_state_variable.js +3 -0
- package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +1 -0
- package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +41 -0
- package/dist/source/interfaces/subscription_diagnostics_variable.js +3 -0
- package/dist/source/interfaces/subscription_diagnostics_variable.js.map +1 -0
- package/dist/source/interfaces/ua_authorisation_service.d.ts +1 -0
- package/dist/source/interfaces/ua_authorisation_service.js +3 -0
- package/dist/source/interfaces/ua_authorisation_service.js.map +1 -0
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -0
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +3 -0
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -0
- package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -0
- package/dist/source/loader/generateAddressSpaceRaw.js +59 -0
- package/dist/source/loader/generateAddressSpaceRaw.js.map +1 -0
- package/dist/source/loader/load_nodeset2.d.ts +13 -0
- package/dist/source/loader/load_nodeset2.js +1392 -0
- package/dist/source/loader/load_nodeset2.js.map +1 -0
- package/dist/source/loader/namespace_post_step.d.ts +6 -0
- package/dist/source/loader/namespace_post_step.js +48 -0
- package/dist/source/loader/namespace_post_step.js.map +1 -0
- package/dist/source/loader/register_node_promoter.d.ts +3 -0
- package/dist/source/loader/register_node_promoter.js +10 -0
- package/dist/source/loader/register_node_promoter.js.map +1 -0
- package/dist/source/namespace.d.ts +6 -0
- package/dist/source/namespace.js +3 -0
- package/dist/source/namespace.js.map +1 -0
- package/dist/source/namespace_alarm_and_condition.d.ts +24 -0
- package/dist/source/namespace_alarm_and_condition.js +3 -0
- package/dist/source/namespace_alarm_and_condition.js.map +1 -0
- package/dist/source/namespace_data_access.d.ts +42 -0
- package/dist/source/namespace_data_access.js +3 -0
- package/dist/source/namespace_data_access.js.map +1 -0
- package/dist/source/namespace_machine_state.d.ts +7 -0
- package/dist/source/namespace_machine_state.js +3 -0
- package/dist/source/namespace_machine_state.js.map +1 -0
- package/dist/source/pseudo_session.d.ts +55 -0
- package/dist/source/pseudo_session.js +205 -0
- package/dist/source/pseudo_session.js.map +1 -0
- package/dist/source/session_context.d.ts +111 -0
- package/dist/source/session_context.js +266 -0
- package/dist/source/session_context.js.map +1 -0
- package/dist/source/set_namespace_meta_data.d.ts +2 -0
- package/dist/source/set_namespace_meta_data.js +60 -0
- package/dist/source/set_namespace_meta_data.js.map +1 -0
- package/dist/source/ua_namespace_meta_data_type.d.ts +71 -0
- package/dist/source/ua_namespace_meta_data_type.js +3 -0
- package/dist/source/ua_namespace_meta_data_type.js.map +1 -0
- package/dist/source/ua_root_folder.d.ts +9 -0
- package/dist/source/ua_root_folder.js +3 -0
- package/dist/source/ua_root_folder.js.map +1 -0
- package/dist/source/ua_two_state_variable_ex.d.ts +23 -0
- package/dist/source/ua_two_state_variable_ex.js +3 -0
- package/dist/source/ua_two_state_variable_ex.js.map +1 -0
- package/dist/source/xml_writer.d.ts +9 -0
- package/dist/source/xml_writer.js +3 -0
- package/dist/source/xml_writer.js.map +1 -0
- package/dist/src/address_space.d.ts +393 -0
- package/dist/src/address_space.js +1375 -0
- package/dist/src/address_space.js.map +1 -0
- package/dist/src/address_space_change_event_tools.d.ts +6 -0
- package/dist/src/address_space_change_event_tools.js +150 -0
- package/dist/src/address_space_change_event_tools.js.map +1 -0
- package/dist/src/address_space_private.d.ts +44 -0
- package/dist/src/address_space_private.js +3 -0
- package/dist/src/address_space_private.js.map +1 -0
- package/dist/src/alarms_and_conditions/base_event_type.d.ts +26 -0
- package/dist/src/alarms_and_conditions/base_event_type.js +41 -0
- package/dist/src/alarms_and_conditions/base_event_type.js.map +1 -0
- package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -0
- package/dist/src/alarms_and_conditions/check_where_clause.js +110 -0
- package/dist/src/alarms_and_conditions/check_where_clause.js.map +1 -0
- package/dist/src/alarms_and_conditions/condition.d.ts +5 -0
- package/dist/src/alarms_and_conditions/condition.js +81 -0
- package/dist/src/alarms_and_conditions/condition.js.map +1 -0
- package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -0
- package/dist/src/alarms_and_conditions/condition_info.js +55 -0
- package/dist/src/alarms_and_conditions/condition_info.js.map +1 -0
- package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +232 -0
- package/dist/src/alarms_and_conditions/condition_snapshot.js +667 -0
- package/dist/src/alarms_and_conditions/condition_snapshot.js.map +1 -0
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -0
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +47 -0
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -0
- package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -0
- package/dist/src/alarms_and_conditions/extract_event_fields.js +90 -0
- package/dist/src/alarms_and_conditions/extract_event_fields.js.map +1 -0
- package/dist/src/alarms_and_conditions/index.d.ts +18 -0
- package/dist/src/alarms_and_conditions/index.js +31 -0
- package/dist/src/alarms_and_conditions/index.js.map +1 -0
- package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +22 -0
- package/dist/src/alarms_and_conditions/shelving_state_machine.js +241 -0
- package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +1 -0
- package/dist/src/alarms_and_conditions/trip_alarm.d.ts +16 -0
- package/dist/src/alarms_and_conditions/trip_alarm.js +21 -0
- package/dist/src/alarms_and_conditions/trip_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +54 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +255 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +62 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +138 -0
- package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +460 -0
- package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +118 -0
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +417 -0
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -0
- package/dist/src/alarms_and_conditions/ua_base_event_impl.js +39 -0
- package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +35 -0
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +32 -0
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +21 -0
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +26 -0
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +191 -0
- package/dist/src/alarms_and_conditions/ua_condition_base.js +1029 -0
- package/dist/src/alarms_and_conditions/ua_condition_base.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +182 -0
- package/dist/src/alarms_and_conditions/ua_condition_impl.js +1021 -0
- package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +11 -0
- package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +58 -0
- package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +17 -0
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +58 -0
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +24 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +59 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +27 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +57 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +14 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +17 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +9 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +12 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +22 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +87 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +38 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +87 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +6 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +11 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +8 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +76 -0
- package/dist/src/alarms_and_conditions/ua_limit_alarm.js +237 -0
- package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +98 -0
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +233 -0
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +27 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +62 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +51 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +49 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +176 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +25 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +163 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +47 -0
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +151 -0
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +39 -0
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +136 -0
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +16 -0
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +18 -0
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +16 -0
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +18 -0
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -0
- package/dist/src/apply_condition_refresh.d.ts +6 -0
- package/dist/src/apply_condition_refresh.js +28 -0
- package/dist/src/apply_condition_refresh.js.map +1 -0
- package/dist/src/base_node.d.ts +279 -0
- package/dist/src/base_node.js +1364 -0
- package/dist/src/base_node.js.map +1 -0
- package/dist/src/base_node_impl.d.ts +281 -0
- package/dist/src/base_node_impl.js +1394 -0
- package/dist/src/base_node_impl.js.map +1 -0
- package/dist/src/base_node_private.d.ts +61 -0
- package/dist/src/base_node_private.js +521 -0
- package/dist/src/base_node_private.js.map +1 -0
- package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -0
- package/dist/src/data_access/add_dataItem_stuff.js +62 -0
- package/dist/src/data_access/add_dataItem_stuff.js.map +1 -0
- package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -0
- package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +35 -0
- package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js.map +1 -0
- package/dist/src/data_access/ua_analog_item.d.ts +13 -0
- package/dist/src/data_access/ua_analog_item.js +37 -0
- package/dist/src/data_access/ua_analog_item.js.map +1 -0
- package/dist/src/data_access/ua_data_item.d.ts +16 -0
- package/dist/src/data_access/ua_data_item.js +66 -0
- package/dist/src/data_access/ua_data_item.js.map +1 -0
- package/dist/src/data_access/ua_multistate_discrete.d.ts +23 -0
- package/dist/src/data_access/ua_multistate_discrete.js +131 -0
- package/dist/src/data_access/ua_multistate_discrete.js.map +1 -0
- package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -0
- package/dist/src/data_access/ua_multistate_discrete_impl.js +131 -0
- package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -0
- package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -0
- package/dist/src/data_access/ua_multistate_value_discrete.js +249 -0
- package/dist/src/data_access/ua_multistate_value_discrete.js.map +1 -0
- package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -0
- package/dist/src/data_access/ua_two_state_discrete.js +154 -0
- package/dist/src/data_access/ua_two_state_discrete.js.map +1 -0
- package/dist/src/event_data.d.ts +29 -0
- package/dist/src/event_data.js +96 -0
- package/dist/src/event_data.js.map +1 -0
- package/dist/src/extension_object_array_node.d.ts +61 -0
- package/dist/src/extension_object_array_node.js +266 -0
- package/dist/src/extension_object_array_node.js.map +1 -0
- package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -0
- package/dist/src/historical_access/address_space_historical_data_node.js +662 -0
- package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -0
- package/dist/src/index_current.d.ts +42 -0
- package/dist/src/index_current.js +71 -0
- package/dist/src/index_current.js.map +1 -0
- package/dist/src/namespace.d.ts +475 -0
- package/dist/src/namespace.js +1775 -0
- package/dist/src/namespace.js.map +1 -0
- package/dist/src/namespace_impl.d.ts +463 -0
- package/dist/src/namespace_impl.js +1763 -0
- package/dist/src/namespace_impl.js.map +1 -0
- package/dist/src/namespace_private.d.ts +21 -0
- package/dist/src/namespace_private.js +29 -0
- package/dist/src/namespace_private.js.map +1 -0
- package/dist/src/nodeid_manager.d.ts +36 -0
- package/dist/src/nodeid_manager.js +196 -0
- package/dist/src/nodeid_manager.js.map +1 -0
- package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -0
- package/dist/src/nodeset_tools/adjust_namespace_array.js +14 -0
- package/dist/src/nodeset_tools/adjust_namespace_array.js.map +1 -0
- package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -0
- package/dist/src/nodeset_tools/construct_namespace_dependency.js +39 -0
- package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +1 -0
- package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -0
- package/dist/src/nodeset_tools/nodeset_to_xml.js +1155 -0
- package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -0
- package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -0
- package/dist/src/nodeset_tools/typedictionary_to_xml.js +147 -0
- package/dist/src/nodeset_tools/typedictionary_to_xml.js.map +1 -0
- package/dist/src/reference.d.ts +43 -0
- package/dist/src/reference.js +138 -0
- package/dist/src/reference.js.map +1 -0
- package/dist/src/reference_impl.d.ts +43 -0
- package/dist/src/reference_impl.js +138 -0
- package/dist/src/reference_impl.js.map +1 -0
- package/dist/src/role_permissions.d.ts +2 -0
- package/dist/src/role_permissions.js +11 -0
- package/dist/src/role_permissions.js.map +1 -0
- package/dist/src/session_context.d.ts +4 -0
- package/dist/src/session_context.js +9 -0
- package/dist/src/session_context.js.map +1 -0
- package/dist/src/state_machine/finite_state_machine.d.ts +67 -0
- package/dist/src/state_machine/finite_state_machine.js +354 -0
- package/dist/src/state_machine/finite_state_machine.js.map +1 -0
- package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -0
- package/dist/src/state_machine/ua_shelving_state_machine_ex.js +244 -0
- package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -0
- package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -0
- package/dist/src/state_machine/ua_two_state_variable.js +332 -0
- package/dist/src/state_machine/ua_two_state_variable.js.map +1 -0
- package/dist/src/tool_isSupertypeOf.d.ts +17 -0
- package/dist/src/tool_isSupertypeOf.js +103 -0
- package/dist/src/tool_isSupertypeOf.js.map +1 -0
- package/dist/src/ua_condition_type.d.ts +8 -0
- package/dist/src/ua_condition_type.js +3 -0
- package/dist/src/ua_condition_type.js.map +1 -0
- package/dist/src/ua_data_type.d.ts +83 -0
- package/dist/src/ua_data_type.js +289 -0
- package/dist/src/ua_data_type.js.map +1 -0
- package/dist/src/ua_data_type_impl.d.ts +83 -0
- package/dist/src/ua_data_type_impl.js +291 -0
- package/dist/src/ua_data_type_impl.js.map +1 -0
- package/dist/src/ua_method.d.ts +42 -0
- package/dist/src/ua_method.js +204 -0
- package/dist/src/ua_method.js.map +1 -0
- package/dist/src/ua_method_impl.d.ts +40 -0
- package/dist/src/ua_method_impl.js +203 -0
- package/dist/src/ua_method_impl.js.map +1 -0
- package/dist/src/ua_object.d.ts +29 -0
- package/dist/src/ua_object.js +153 -0
- package/dist/src/ua_object.js.map +1 -0
- package/dist/src/ua_object_impl.d.ts +29 -0
- package/dist/src/ua_object_impl.js +156 -0
- package/dist/src/ua_object_impl.js.map +1 -0
- package/dist/src/ua_object_type.d.ts +49 -0
- package/dist/src/ua_object_type.js +124 -0
- package/dist/src/ua_object_type.js.map +1 -0
- package/dist/src/ua_object_type_impl.d.ts +48 -0
- package/dist/src/ua_object_type_impl.js +124 -0
- package/dist/src/ua_object_type_impl.js.map +1 -0
- package/dist/src/ua_reference_type.d.ts +42 -0
- package/dist/src/ua_reference_type.js +138 -0
- package/dist/src/ua_reference_type.js.map +1 -0
- package/dist/src/ua_reference_type_impl.d.ts +43 -0
- package/dist/src/ua_reference_type_impl.js +138 -0
- package/dist/src/ua_reference_type_impl.js.map +1 -0
- package/dist/src/ua_variable.d.ts +346 -0
- package/dist/src/ua_variable.js +1721 -0
- package/dist/src/ua_variable.js.map +1 -0
- package/dist/src/ua_variable_impl.d.ts +353 -0
- package/dist/src/ua_variable_impl.js +1719 -0
- package/dist/src/ua_variable_impl.js.map +1 -0
- package/dist/src/ua_variable_type.d.ts +54 -0
- package/dist/src/ua_variable_type.js +555 -0
- package/dist/src/ua_variable_type.js.map +1 -0
- package/dist/src/ua_variable_type_impl.d.ts +63 -0
- package/dist/src/ua_variable_type_impl.js +556 -0
- package/dist/src/ua_variable_type_impl.js.map +1 -0
- package/dist/src/ua_view.d.ts +16 -0
- package/dist/src/ua_view.js +42 -0
- package/dist/src/ua_view.js.map +1 -0
- package/dist/src/ua_view_impl.d.ts +15 -0
- package/dist/src/ua_view_impl.js +37 -0
- package/dist/src/ua_view_impl.js.map +1 -0
- package/distHelpers/add_event_generator_object.d.ts +3 -0
- package/distHelpers/add_event_generator_object.js +66 -0
- package/distHelpers/add_event_generator_object.js.map +1 -0
- package/distHelpers/alarms_and_conditions_demo.d.ts +10 -0
- package/distHelpers/alarms_and_conditions_demo.js +115 -0
- package/distHelpers/alarms_and_conditions_demo.js.map +1 -0
- package/distHelpers/assertHasMatchingReference.d.ts +19 -0
- package/distHelpers/assertHasMatchingReference.js +41 -0
- package/distHelpers/assertHasMatchingReference.js.map +1 -0
- package/distHelpers/boiler_system.d.ts +113 -0
- package/distHelpers/boiler_system.js +397 -0
- package/distHelpers/boiler_system.js.map +1 -0
- package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -0
- package/distHelpers/create_minimalist_address_space_nodeset.js +171 -0
- package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -0
- package/distHelpers/dump_statemachine.d.ts +6 -0
- package/distHelpers/dump_statemachine.js +116 -0
- package/distHelpers/dump_statemachine.js.map +1 -0
- package/distHelpers/get_address_space_fixture.d.ts +1 -0
- package/distHelpers/get_address_space_fixture.js +31 -0
- package/distHelpers/get_address_space_fixture.js.map +1 -0
- package/distHelpers/get_mini_address_space.d.ts +7 -0
- package/distHelpers/get_mini_address_space.js +37 -0
- package/distHelpers/get_mini_address_space.js.map +1 -0
- package/distHelpers/index.d.ts +11 -0
- package/distHelpers/index.js +24 -0
- package/distHelpers/index.js.map +1 -0
- package/distNodeJS/generate_address_space.d.ts +4 -0
- package/distNodeJS/generate_address_space.js +31 -0
- package/distNodeJS/generate_address_space.js.map +1 -0
- package/distNodeJS/index.d.ts +1 -0
- package/distNodeJS/index.js +14 -0
- package/distNodeJS/index.js.map +1 -0
- package/generate.js +1 -0
- package/nodeJS.d.ts +1 -0
- package/nodeJS.js +1 -0
- package/package.json +87 -0
- package/source/address_space_ts.ts +217 -0
- package/source/continuation_points/continuation_point_manager.ts +121 -0
- package/source/helpers/adjust_browse_direction.ts +15 -0
- package/source/helpers/argument_list.ts +286 -0
- package/source/helpers/call_helpers.ts +112 -0
- package/source/helpers/check_event_clause.ts +62 -0
- package/source/helpers/coerce_enum_value.ts +33 -0
- package/source/helpers/dump_tools.ts +92 -0
- package/source/helpers/ensure_secure_access.ts +88 -0
- package/source/helpers/make_optionals_map.ts +49 -0
- package/source/helpers/resolve_opaque_on_address_space.ts +23 -0
- package/source/index.ts +49 -0
- package/source/interfaces/alarms_and_conditions/condition_info_i.ts +13 -0
- package/source/interfaces/data_access/ua_multistate_discrete_ex.ts +26 -0
- package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +34 -0
- package/source/interfaces/data_access/ua_two_state_discrete_ex.ts +14 -0
- package/source/interfaces/data_access/ua_y_array_item_ex.ts +10 -0
- package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +14 -0
- package/source/interfaces/state_machine/ua_finite_state_machine_type.ts +50 -0
- package/source/interfaces/state_machine/ua_program_state_machine_type.ts +13 -0
- package/source/interfaces/state_machine/ua_state_machine_type.ts +261 -0
- package/source/interfaces/state_machine/ua_transition_ex.ts +7 -0
- package/source/interfaces/ua_subscription_diagnostics_variable_ex.ts +8 -0
- package/source/loader/generateAddressSpaceRaw.ts +79 -0
- package/source/loader/load_nodeset2.ts +1600 -0
- package/source/loader/namespace_post_step.ts +36 -0
- package/source/loader/register_node_promoter.ts +8 -0
- package/source/namespace.ts +9 -0
- package/source/namespace_alarm_and_condition.ts +47 -0
- package/source/namespace_data_access.ts +60 -0
- package/source/namespace_machine_state.ts +13 -0
- package/source/pseudo_session.ts +288 -0
- package/source/session_context.ts +345 -0
- package/source/set_namespace_meta_data.ts +68 -0
- package/source/ua_root_folder.ts +10 -0
- package/source/ua_two_state_variable_ex.ts +35 -0
- package/source/xml_writer.ts +15 -0
- package/source_nodejs/generate_address_space.ts +36 -0
- package/source_nodejs/index.ts +1 -0
- package/src/address_space.ts +1575 -0
- package/src/address_space_change_event_tools.ts +177 -0
- package/src/address_space_private.ts +98 -0
- package/src/alarms_and_conditions/check_where_clause.ts +148 -0
- package/src/alarms_and_conditions/condition.ts +89 -0
- package/src/alarms_and_conditions/condition_info.ts +66 -0
- package/src/alarms_and_conditions/condition_snapshot.ts +766 -0
- package/src/alarms_and_conditions/deviation_alarm_helper.ts +66 -0
- package/src/alarms_and_conditions/extract_event_fields.ts +104 -0
- package/src/alarms_and_conditions/index.ts +18 -0
- package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +339 -0
- package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +513 -0
- package/src/alarms_and_conditions/ua_base_event_impl.ts +55 -0
- package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +50 -0
- package/src/alarms_and_conditions/ua_condition_impl.ts +1298 -0
- package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +81 -0
- package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +110 -0
- package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +19 -0
- package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +130 -0
- package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +24 -0
- package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +305 -0
- package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +108 -0
- package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +224 -0
- package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +186 -0
- package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +27 -0
- package/src/apply_condition_refresh.ts +30 -0
- package/src/base_node_impl.ts +1749 -0
- package/src/base_node_private.ts +690 -0
- package/src/data_access/add_dataItem_stuff.ts +75 -0
- package/src/data_access/check_variant_compatibility_ua_analog_item.ts +41 -0
- package/src/data_access/ua_multistate_discrete_impl.ts +168 -0
- package/src/data_access/ua_multistate_value_discrete.ts +299 -0
- package/src/data_access/ua_two_state_discrete.ts +185 -0
- package/src/event_data.ts +117 -0
- package/src/extension_object_array_node.ts +325 -0
- package/src/historical_access/address_space_historical_data_node.ts +828 -0
- package/src/index_current.ts +52 -0
- package/src/namespace_impl.ts +2181 -0
- package/src/namespace_private.ts +60 -0
- package/src/nodeid_manager.ts +228 -0
- package/src/nodeset_tools/adjust_namespace_array.ts +11 -0
- package/src/nodeset_tools/construct_namespace_dependency.ts +40 -0
- package/src/nodeset_tools/nodeset_to_xml.ts +1317 -0
- package/src/nodeset_tools/typedictionary_to_xml.ts +175 -0
- package/src/reference_impl.ts +169 -0
- package/src/role_permissions.ts +6 -0
- package/src/state_machine/finite_state_machine.ts +428 -0
- package/src/state_machine/ua_shelving_state_machine_ex.ts +314 -0
- package/src/state_machine/ua_two_state_variable.ts +421 -0
- package/src/tool_isSupertypeOf.ts +129 -0
- package/src/ua_condition_type.ts +10 -0
- package/src/ua_data_type_impl.ts +356 -0
- package/src/ua_method_impl.ts +278 -0
- package/src/ua_object_impl.ts +203 -0
- package/src/ua_object_type_impl.ts +158 -0
- package/src/ua_reference_type_impl.ts +174 -0
- package/src/ua_variable_impl.ts +2277 -0
- package/src/ua_variable_type_impl.ts +741 -0
- package/src/ua_view_impl.ts +54 -0
- package/testHelpers.d.ts +1 -0
- package/testHelpers.js +1 -0
- package/test_helpers/add_event_generator_object.ts +71 -0
- package/test_helpers/alarms_and_conditions_demo.ts +147 -0
- package/test_helpers/assertHasMatchingReference.ts +43 -0
- package/test_helpers/boiler_system.ts +618 -0
- package/test_helpers/create_minimalist_address_space_nodeset.ts +208 -0
- package/test_helpers/dump_statemachine.ts +155 -0
- package/test_helpers/get_address_space_fixture.ts +30 -0
- package/test_helpers/get_mini_address_space.ts +42 -0
- package/test_helpers/index.ts +11 -0
- package/test_helpers/test_fixtures/dataType_in_separateNamespace.xml +150 -0
- package/test_helpers/test_fixtures/dataType_in_separateNamespace_basic.xml +57 -0
- package/test_helpers/test_fixtures/dataType_in_separateNamespace_mix.xml +136 -0
- package/test_helpers/test_fixtures/dataType_withEnumeration.xml +82 -0
- package/test_helpers/test_fixtures/dataType_with_isOptionSet.xml +194 -0
- package/test_helpers/test_fixtures/dataType_with_structures.xml +605 -0
- package/test_helpers/test_fixtures/dataType_with_union.xml +1 -0
- package/test_helpers/test_fixtures/datatype_as_per_1.04.xml +91 -0
- package/test_helpers/test_fixtures/fixture_empty_nodeset2.xml +106 -0
- package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +1303 -0
- package/test_helpers/test_fixtures/fixuture_nodeset_objects_with_some_methods.xml +362 -0
- package/test_helpers/test_fixtures/issue_846.xml +3172 -0
- package/test_helpers/test_fixtures/issue_899_variable_with_nodeid_value.xml +33 -0
- package/test_helpers/test_fixtures/mini.Node.Set2.xml +4508 -0
- package/test_helpers/test_fixtures/mini.nodeset.withVariousVariables.xml +194 -0
- package/test_helpers/test_fixtures/minimalist_nodeset_with_models.xml +8 -0
- package/test_helpers/test_fixtures/minimalist_nodeset_with_models_more_complex.xml +16 -0
- package/test_helpers/test_fixtures/nodeset_with_analog_items.xml +45 -0
|
@@ -0,0 +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
|
+
}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @module node-opcua-address-space
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SessionContext = exports.makeRoles = exports.WellKnownRolesNodeId = exports.WellKnownRoles = exports.PermissionType = exports.RolePermissionType = void 0;
|
|
7
|
+
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
8
|
+
const node_opcua_crypto_1 = require("node-opcua-crypto");
|
|
9
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
10
|
+
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
11
|
+
const node_opcua_types_1 = require("node-opcua-types");
|
|
12
|
+
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
13
|
+
var node_opcua_types_2 = require("node-opcua-types");
|
|
14
|
+
Object.defineProperty(exports, "RolePermissionType", { enumerable: true, get: function () { return node_opcua_types_2.RolePermissionType; } });
|
|
15
|
+
Object.defineProperty(exports, "PermissionType", { enumerable: true, get: function () { return node_opcua_types_2.PermissionType; } });
|
|
16
|
+
function getUserName(userIdentityToken) {
|
|
17
|
+
if (userIdentityToken instanceof node_opcua_types_1.AnonymousIdentityToken) {
|
|
18
|
+
return "anonymous";
|
|
19
|
+
}
|
|
20
|
+
if (userIdentityToken instanceof node_opcua_types_1.X509IdentityToken) {
|
|
21
|
+
const certInfo = (0, node_opcua_crypto_1.exploreCertificate)(userIdentityToken.certificateData);
|
|
22
|
+
const userName = certInfo.tbsCertificate.subject.commonName || "";
|
|
23
|
+
if (typeof userName !== "string") {
|
|
24
|
+
throw new Error("Invalid username");
|
|
25
|
+
}
|
|
26
|
+
return userName;
|
|
27
|
+
}
|
|
28
|
+
if (userIdentityToken instanceof node_opcua_types_1.UserNameIdentityToken) {
|
|
29
|
+
if (userIdentityToken.policyId === "anonymous") {
|
|
30
|
+
return "anonymous";
|
|
31
|
+
}
|
|
32
|
+
(0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(userIdentityToken, "userName"));
|
|
33
|
+
return userIdentityToken.userName;
|
|
34
|
+
}
|
|
35
|
+
throw new Error("Invalid user identity token");
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
40
|
+
var WellKnownRoles;
|
|
41
|
+
(function (WellKnownRoles) {
|
|
42
|
+
WellKnownRoles[WellKnownRoles["Anonymous"] = 15644] = "Anonymous";
|
|
43
|
+
WellKnownRoles[WellKnownRoles["AuthenticatedUser"] = 15656] = "AuthenticatedUser";
|
|
44
|
+
WellKnownRoles[WellKnownRoles["ConfigureAdmin"] = 15716] = "ConfigureAdmin";
|
|
45
|
+
WellKnownRoles[WellKnownRoles["Engineer"] = 16036] = "Engineer";
|
|
46
|
+
WellKnownRoles[WellKnownRoles["Observer"] = 15668] = "Observer";
|
|
47
|
+
WellKnownRoles[WellKnownRoles["Operator"] = 15680] = "Operator";
|
|
48
|
+
WellKnownRoles[WellKnownRoles["SecurityAdmin"] = 15704] = "SecurityAdmin";
|
|
49
|
+
WellKnownRoles[WellKnownRoles["Supervisor"] = 15692] = "Supervisor";
|
|
50
|
+
})(WellKnownRoles = exports.WellKnownRoles || (exports.WellKnownRoles = {}));
|
|
51
|
+
var WellKnownRolesNodeId;
|
|
52
|
+
(function (WellKnownRolesNodeId) {
|
|
53
|
+
WellKnownRolesNodeId[WellKnownRolesNodeId["Anonymous"] = 15644] = "Anonymous";
|
|
54
|
+
WellKnownRolesNodeId[WellKnownRolesNodeId["AuthenticatedUser"] = 15656] = "AuthenticatedUser";
|
|
55
|
+
WellKnownRolesNodeId[WellKnownRolesNodeId["ConfigureAdmin"] = 15716] = "ConfigureAdmin";
|
|
56
|
+
WellKnownRolesNodeId[WellKnownRolesNodeId["Engineer"] = 16036] = "Engineer";
|
|
57
|
+
WellKnownRolesNodeId[WellKnownRolesNodeId["Observer"] = 15668] = "Observer";
|
|
58
|
+
WellKnownRolesNodeId[WellKnownRolesNodeId["Operator"] = 15680] = "Operator";
|
|
59
|
+
WellKnownRolesNodeId[WellKnownRolesNodeId["SecurityAdmin"] = 15704] = "SecurityAdmin";
|
|
60
|
+
WellKnownRolesNodeId[WellKnownRolesNodeId["Supervisor"] = 15692] = "Supervisor";
|
|
61
|
+
})(WellKnownRolesNodeId = exports.WellKnownRolesNodeId || (exports.WellKnownRolesNodeId = {}));
|
|
62
|
+
function getPermissionForRole(rolePermissions, role) {
|
|
63
|
+
if (rolePermissions === null) {
|
|
64
|
+
return node_opcua_data_model_1.allPermissions;
|
|
65
|
+
}
|
|
66
|
+
const a = rolePermissions.find((r) => {
|
|
67
|
+
return (0, node_opcua_nodeid_1.sameNodeId)((0, node_opcua_nodeid_1.resolveNodeId)(r.roleId), role);
|
|
68
|
+
});
|
|
69
|
+
return a !== undefined ? a.permissions | node_opcua_data_model_1.PermissionFlag.None : node_opcua_data_model_1.PermissionFlag.None;
|
|
70
|
+
}
|
|
71
|
+
function isDefaultContext(context) {
|
|
72
|
+
return context === SessionContext.defaultContext;
|
|
73
|
+
}
|
|
74
|
+
function getAccessRestrictionsOnNamespace(namespace, context) {
|
|
75
|
+
var _a, _b, _c;
|
|
76
|
+
// ignore permission when default context is provided (to avoid recursion)
|
|
77
|
+
if (isDefaultContext(context)) {
|
|
78
|
+
return node_opcua_data_model_1.AccessRestrictionsFlag.None;
|
|
79
|
+
}
|
|
80
|
+
const namespaces = (_c = (_b = (_a = namespace.addressSpace.rootFolder) === null || _a === void 0 ? void 0 : _a.objects) === null || _b === void 0 ? void 0 : _b.server) === null || _c === void 0 ? void 0 : _c.namespaces;
|
|
81
|
+
if (!namespaces) {
|
|
82
|
+
return node_opcua_data_model_1.AccessRestrictionsFlag.None;
|
|
83
|
+
}
|
|
84
|
+
const namespaceObject = namespaces.getChildByName(namespace.namespaceUri);
|
|
85
|
+
if (!namespaceObject) {
|
|
86
|
+
return node_opcua_data_model_1.AccessRestrictionsFlag.None;
|
|
87
|
+
}
|
|
88
|
+
const defaultAccessRestriction = namespaceObject.getChildByName("defaultAccessRestriction");
|
|
89
|
+
if (defaultAccessRestriction) {
|
|
90
|
+
const dataValue = defaultAccessRestriction.readAttribute(null, node_opcua_data_model_1.AttributeIds.Value);
|
|
91
|
+
if (dataValue && dataValue.statusCode === node_opcua_status_code_1.StatusCodes.Good) {
|
|
92
|
+
return dataValue.value.value;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return node_opcua_data_model_1.AccessRestrictionsFlag.None;
|
|
96
|
+
}
|
|
97
|
+
function getDefaultUserRolePermissionsOnNamespace(namespace, context) {
|
|
98
|
+
var _a, _b, _c;
|
|
99
|
+
// ignore permission when default context is provided
|
|
100
|
+
if (isDefaultContext(context)) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
const namespaces = (_c = (_b = (_a = namespace.addressSpace.rootFolder) === null || _a === void 0 ? void 0 : _a.objects) === null || _b === void 0 ? void 0 : _b.server) === null || _c === void 0 ? void 0 : _c.namespaces;
|
|
104
|
+
if (!namespaces) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const uaNamespaceObject = namespaces.getChildByName(namespace.namespaceUri);
|
|
108
|
+
if (!uaNamespaceObject) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
const defaultUserRolePermissions = uaNamespaceObject.getChildByName("DefaultUserRolePermissions");
|
|
112
|
+
if (defaultUserRolePermissions) {
|
|
113
|
+
const dataValue = defaultUserRolePermissions.readValue();
|
|
114
|
+
if (dataValue && dataValue.statusCode === node_opcua_status_code_1.StatusCodes.Good && dataValue.value.value && dataValue.value.value.length > 0) {
|
|
115
|
+
return dataValue.value.value;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const defaultRolePermissions = uaNamespaceObject.getChildByName("DefaultRolePermissions");
|
|
119
|
+
if (defaultRolePermissions) {
|
|
120
|
+
const dataValue = defaultRolePermissions.readValue();
|
|
121
|
+
if (dataValue && dataValue.statusCode === node_opcua_status_code_1.StatusCodes.Good) {
|
|
122
|
+
return dataValue.value.value;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
function makeRoles(roleIds) {
|
|
128
|
+
if (typeof roleIds === "number") {
|
|
129
|
+
roleIds = [roleIds];
|
|
130
|
+
}
|
|
131
|
+
if (typeof roleIds === "string") {
|
|
132
|
+
roleIds = roleIds.split(";").map((r) => (0, node_opcua_nodeid_1.resolveNodeId)("WellKnownRole_" + r));
|
|
133
|
+
}
|
|
134
|
+
return roleIds.map((r) => (0, node_opcua_nodeid_1.resolveNodeId)(r));
|
|
135
|
+
}
|
|
136
|
+
exports.makeRoles = makeRoles;
|
|
137
|
+
class SessionContext {
|
|
138
|
+
constructor(options) {
|
|
139
|
+
this.continuationPoints = {};
|
|
140
|
+
options = options || {};
|
|
141
|
+
this.session = options.session;
|
|
142
|
+
this.object = options.object;
|
|
143
|
+
this.server = options.server;
|
|
144
|
+
this.currentTime = undefined;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* getCurrentUserRoles
|
|
148
|
+
*
|
|
149
|
+
* guest => anonymous user (unauthenticated)
|
|
150
|
+
* default => default authenticated user
|
|
151
|
+
*
|
|
152
|
+
*/
|
|
153
|
+
getCurrentUserRoles() {
|
|
154
|
+
if (!this.session) {
|
|
155
|
+
return []; // default context => no Session
|
|
156
|
+
}
|
|
157
|
+
(0, node_opcua_assert_1.assert)(this.session != null, "expecting a session");
|
|
158
|
+
const userIdentityToken = this.session.userIdentityToken;
|
|
159
|
+
if (!userIdentityToken) {
|
|
160
|
+
return [];
|
|
161
|
+
}
|
|
162
|
+
const anonymous = makeRoles([WellKnownRoles.Anonymous]);
|
|
163
|
+
const username = getUserName(userIdentityToken);
|
|
164
|
+
if (username === "anonymous") {
|
|
165
|
+
return anonymous;
|
|
166
|
+
}
|
|
167
|
+
if (!this.server || !this.server.userManager) {
|
|
168
|
+
return anonymous;
|
|
169
|
+
}
|
|
170
|
+
(0, node_opcua_assert_1.assert)(this.server != null, "expecting a server");
|
|
171
|
+
if (typeof this.server.userManager.getUserRoles !== "function") {
|
|
172
|
+
return anonymous;
|
|
173
|
+
}
|
|
174
|
+
const rolesNodeId = this.server.userManager.getUserRoles(username);
|
|
175
|
+
if (rolesNodeId.findIndex((r) => r.namespace === 0 && r.value === WellKnownRoles.AuthenticatedUser) < 0) {
|
|
176
|
+
rolesNodeId.push((0, node_opcua_nodeid_1.resolveNodeId)(WellKnownRoles.AuthenticatedUser));
|
|
177
|
+
}
|
|
178
|
+
return rolesNodeId;
|
|
179
|
+
}
|
|
180
|
+
getApplicableRolePermissions(node) {
|
|
181
|
+
if (!node.rolePermissions) {
|
|
182
|
+
const namespace = node.namespace;
|
|
183
|
+
const defaultUserRolePermissions = getDefaultUserRolePermissionsOnNamespace(namespace, this);
|
|
184
|
+
return defaultUserRolePermissions;
|
|
185
|
+
}
|
|
186
|
+
return node.rolePermissions;
|
|
187
|
+
}
|
|
188
|
+
getPermissions(node) {
|
|
189
|
+
const applicableRolePermissions = this.getApplicableRolePermissions(node);
|
|
190
|
+
const roles = this.getCurrentUserRoles();
|
|
191
|
+
if (roles.length === 0) {
|
|
192
|
+
return node_opcua_data_model_1.allPermissions;
|
|
193
|
+
}
|
|
194
|
+
let orFlags = 0;
|
|
195
|
+
for (const role of roles) {
|
|
196
|
+
orFlags = orFlags | getPermissionForRole(applicableRolePermissions, role);
|
|
197
|
+
}
|
|
198
|
+
return orFlags;
|
|
199
|
+
}
|
|
200
|
+
getAccessRestrictions(node) {
|
|
201
|
+
if (node.accessRestrictions === undefined) {
|
|
202
|
+
const namespace = node.namespace;
|
|
203
|
+
const accessRestrictions = getAccessRestrictionsOnNamespace(namespace, this);
|
|
204
|
+
return accessRestrictions;
|
|
205
|
+
}
|
|
206
|
+
return node.accessRestrictions;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
*
|
|
210
|
+
* @param node
|
|
211
|
+
* @returns true if the browse is denied (access is restricted)
|
|
212
|
+
*/
|
|
213
|
+
isBrowseAccessRestricted(node) {
|
|
214
|
+
if (this.checkPermission(node, node_opcua_types_1.PermissionType.Browse)) {
|
|
215
|
+
return false; // can browse
|
|
216
|
+
}
|
|
217
|
+
return true; // browse restriction
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
*
|
|
221
|
+
* @param node
|
|
222
|
+
* @returns true if the context is access restricted
|
|
223
|
+
*/
|
|
224
|
+
isAccessRestricted(node) {
|
|
225
|
+
var _a, _b;
|
|
226
|
+
const accessRestrictions = this.getAccessRestrictions(node);
|
|
227
|
+
if (accessRestrictions === node_opcua_data_model_1.AccessRestrictionsFlag.None) {
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
if (accessRestrictions & node_opcua_data_model_1.AccessRestrictionsFlag.SessionRequired) {
|
|
231
|
+
if (!this.session) {
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
const securityMode = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.channel) === null || _b === void 0 ? void 0 : _b.securityMode;
|
|
236
|
+
if (accessRestrictions & node_opcua_data_model_1.AccessRestrictionsFlag.SigningRequired) {
|
|
237
|
+
if (securityMode !== node_opcua_types_1.MessageSecurityMode.Sign && securityMode !== node_opcua_types_1.MessageSecurityMode.SignAndEncrypt) {
|
|
238
|
+
return true;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
if (accessRestrictions & node_opcua_data_model_1.AccessRestrictionsFlag.EncryptionRequired) {
|
|
242
|
+
if (securityMode !== node_opcua_types_1.MessageSecurityMode.SignAndEncrypt) {
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* @method checkPermission
|
|
250
|
+
* @param node
|
|
251
|
+
* @param requestedPermission
|
|
252
|
+
* @return {Boolean} returns true of the current user is granted the requested Permission
|
|
253
|
+
*/
|
|
254
|
+
checkPermission(node, requestedPermission) {
|
|
255
|
+
const permissions = this.getPermissions(node);
|
|
256
|
+
return (permissions & requestedPermission) === requestedPermission;
|
|
257
|
+
}
|
|
258
|
+
currentUserHasRole(role) {
|
|
259
|
+
const currentUserRole = this.getCurrentUserRoles();
|
|
260
|
+
const n = (0, node_opcua_nodeid_1.resolveNodeId)(role);
|
|
261
|
+
return currentUserRole.findIndex((r) => (0, node_opcua_nodeid_1.sameNodeId)(r, n)) >= 0;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
exports.SessionContext = SessionContext;
|
|
265
|
+
SessionContext.defaultContext = new SessionContext({});
|
|
266
|
+
//# sourceMappingURL=session_context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session_context.js","sourceRoot":"","sources":["../../source/session_context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setNamespaceMetaData = void 0;
|
|
4
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
5
|
+
function specialEncode(namespaceUri) {
|
|
6
|
+
return namespaceUri;
|
|
7
|
+
}
|
|
8
|
+
function setNamespaceMetaData(namespace) {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
// NamespaceMetadataType
|
|
11
|
+
const addressSpace = namespace.addressSpace;
|
|
12
|
+
const namespaceMetadataType = addressSpace.findObjectType("NamespaceMetadataType");
|
|
13
|
+
const namespaces = addressSpace.rootFolder.objects.server.getChildByName("Namespaces");
|
|
14
|
+
/* istanbul ignore next */
|
|
15
|
+
if (!namespaces) {
|
|
16
|
+
throw new Error("Cannot find namespacesType node under server object");
|
|
17
|
+
}
|
|
18
|
+
/* istanbul ignore next */
|
|
19
|
+
if (!namespaceMetadataType) {
|
|
20
|
+
throw new Error("cannot find NamespaceMetadataType");
|
|
21
|
+
}
|
|
22
|
+
const deriveName = specialEncode(namespace.namespaceUri);
|
|
23
|
+
const existingMetaData = namespaces.getComponentByName(deriveName, namespace.index);
|
|
24
|
+
/* istanbul ignore next */
|
|
25
|
+
if (existingMetaData) {
|
|
26
|
+
throw new Error("INamespace meta data already exists for " + deriveName);
|
|
27
|
+
}
|
|
28
|
+
const metaData = namespaceMetadataType.instantiate({
|
|
29
|
+
browseName: deriveName,
|
|
30
|
+
componentOf: namespaces,
|
|
31
|
+
optionals: [
|
|
32
|
+
"DefaultRolePermissions",
|
|
33
|
+
"DefaultAccessRestrictions",
|
|
34
|
+
"DefaultUserRolePermissions"
|
|
35
|
+
// "NamespaceFile"
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
// FIX ME namespaceUri collides with UAObject.namespaceUri !!!!
|
|
39
|
+
const namespaceUri = metaData.getChildByName("NamespaceUri");
|
|
40
|
+
namespaceUri.setValueFromSource({ dataType: node_opcua_variant_1.DataType.String, value: namespace.namespaceUri });
|
|
41
|
+
const namespacePublicationDate = metaData.namespacePublicationDate;
|
|
42
|
+
namespacePublicationDate.setValueFromSource({ dataType: node_opcua_variant_1.DataType.DateTime, value: new Date() });
|
|
43
|
+
const namespaceVersion = metaData.namespaceVersion;
|
|
44
|
+
namespaceVersion.setValueFromSource({ dataType: node_opcua_variant_1.DataType.String, value: "1.0.0" });
|
|
45
|
+
(_a = metaData.defaultAccessRestrictions) === null || _a === void 0 ? void 0 : _a.bindVariable({
|
|
46
|
+
get: () => new node_opcua_variant_1.Variant({
|
|
47
|
+
dataType: node_opcua_variant_1.DataType.UInt32,
|
|
48
|
+
value: namespace.getDefaultAccessRestrictions()
|
|
49
|
+
})
|
|
50
|
+
}, true);
|
|
51
|
+
(_b = metaData.defaultRolePermissions) === null || _b === void 0 ? void 0 : _b.bindVariable({
|
|
52
|
+
get: () => new node_opcua_variant_1.Variant({
|
|
53
|
+
dataType: node_opcua_variant_1.DataType.ExtensionObject,
|
|
54
|
+
arrayType: node_opcua_variant_1.VariantArrayType.Array,
|
|
55
|
+
value: namespace.getDefaultRolePermissions()
|
|
56
|
+
})
|
|
57
|
+
}, true);
|
|
58
|
+
}
|
|
59
|
+
exports.setNamespaceMetaData = setNamespaceMetaData;
|
|
60
|
+
//# sourceMappingURL=set_namespace_meta_data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set_namespace_meta_data.js","sourceRoot":"","sources":["../../source/set_namespace_meta_data.ts"],"names":[],"mappings":";;;AAEA,2DAAyE;AAEzE,SAAS,aAAa,CAAC,YAAoB;IACvC,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,SAAgB,oBAAoB,CAAC,SAAqB;;IACtD,wBAAwB;IACxB,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAC5C,MAAM,qBAAqB,GAAG,YAAY,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAa,CAAC;IAEnG,0BAA0B;IAC1B,IAAI,CAAC,UAAU,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;KAC1E;IACD,0BAA0B;IAC1B,IAAI,CAAC,qBAAqB,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACxD;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAEzD,MAAM,gBAAgB,GAAG,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAEpF,0BAA0B;IAC1B,IAAI,gBAAgB,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,UAAU,CAAC,CAAC;KAC5E;IACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC;QAC/C,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE;YACP,wBAAwB;YACxB,2BAA2B;YAC3B,4BAA4B;YAC5B,kBAAkB;SACrB;KACJ,CAAwB,CAAC;IAE1B,gEAAgE;IAChE,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAe,CAAC;IAC3E,YAAY,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;IAE9F,MAAM,wBAAwB,GAAG,QAAQ,CAAC,wBAAwB,CAAC;IACnE,wBAAwB,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IAEhG,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;IACnD,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAEnF,MAAA,QAAQ,CAAC,yBAAyB,0CAAE,YAAY,CAAC;QAC7C,GAAG,EAAE,GAAG,EAAE,CACN,IAAI,4BAAO,CAAC;YACR,QAAQ,EAAE,6BAAQ,CAAC,MAAM;YACzB,KAAK,EAAE,SAAS,CAAC,4BAA4B,EAAE;SAClD,CAAC;KACT,EAAE,IAAI,CAAC,CAAC;IACT,MAAA,QAAQ,CAAC,sBAAsB,0CAAE,YAAY,CAAC;QAC1C,GAAG,EAAE,GAAG,EAAE,CACN,IAAI,4BAAO,CAAC;YACR,QAAQ,EAAE,6BAAQ,CAAC,eAAe;YAClC,SAAS,EAAE,qCAAgB,CAAC,KAAK;YACjC,KAAK,EAAE,SAAS,CAAC,yBAAyB,EAAE;SAC/C,CAAC;KACT,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AA3DD,oDA2DC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { DataType } from "node-opcua-variant";
|
|
2
|
+
import { NumericRange } from "node-opcua-numeric-range";
|
|
3
|
+
import { UAAddressSpaceFileType, UAObject, UAVariableT } from "./address_space_ts";
|
|
4
|
+
import { RolePermissionType } from "./session_context";
|
|
5
|
+
export declare type IdType = any;
|
|
6
|
+
export interface UANamespaceMetadataType extends UAObject {
|
|
7
|
+
/**
|
|
8
|
+
* The NamespaceUri Property contains the namespace represented by an instance of the MetaDataType.
|
|
9
|
+
*/
|
|
10
|
+
_namespaceUri: UAVariableT<string, DataType.String>;
|
|
11
|
+
/**
|
|
12
|
+
* The NamespaceVersion Property provides version information for the namespace.It is intended
|
|
13
|
+
* for display purposes and shall not be used to programmatically identify the latest version.If
|
|
14
|
+
* there is no formal version defined for the namespace this Property shall be set to a null String.
|
|
15
|
+
*/
|
|
16
|
+
namespaceVersion: UAVariableT<string, DataType.String>;
|
|
17
|
+
namespacePublicationDate: UAVariableT<Date, DataType.DateTime>;
|
|
18
|
+
/**
|
|
19
|
+
* The IsNamespaceSubset Property defines whether all Nodes of the namespace are accessible
|
|
20
|
+
* in the Server or only a subset.It is set to FALSE if the full namespace is provided and TRUE if
|
|
21
|
+
* not.If the completeness is unknown then this Property shall be set to TRUE.
|
|
22
|
+
*/
|
|
23
|
+
isNamespaceSubset: UAVariableT<boolean, DataType.Boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* The StaticNodeIdTypes Property provides a list of IdTypes used for static Nodes.All Nodes in
|
|
26
|
+
* the IAddressSpace of the namespace using one of the IdTypes in the array shall be static Nodes.
|
|
27
|
+
*/
|
|
28
|
+
staticNodeIdTypes: UAVariableT<IdType[], DataType.ExtensionObject>;
|
|
29
|
+
/**
|
|
30
|
+
* The StaticNumericNodeIdRange Property provides a list of NumericRanges used for numeric
|
|
31
|
+
* NodeIds of static Nodes.If the StaticNodeIdTypes Property contains an entry for numeric
|
|
32
|
+
* NodeIds then this Property is ignored.
|
|
33
|
+
*/
|
|
34
|
+
staticNumericNodeIdRange: UAVariableT<NumericRange[], DataType.ExtensionObject>;
|
|
35
|
+
/**
|
|
36
|
+
* The StaticStringNodeIdPattern Property provides a regular expression as defined for the Like
|
|
37
|
+
* Operator defined in Part 4 to filter for string NodeIds of static Nodes.If the StaticNodeIdTypes
|
|
38
|
+
* Property contains an entry for string NodeIds then this Property is ignored.
|
|
39
|
+
*/
|
|
40
|
+
staticStringNodeIdPattern: UAVariableT<string, DataType.String>;
|
|
41
|
+
/**
|
|
42
|
+
* The Object NamespaceFile contains all Nodes and References of the namespace in an XML
|
|
43
|
+
* file where the Information Model XML Schema is defined in Part 6. The XML file is provided
|
|
44
|
+
* through an AddressSpaceFileType Object.
|
|
45
|
+
*/
|
|
46
|
+
namespaceFile?: UAAddressSpaceFileType;
|
|
47
|
+
/**
|
|
48
|
+
* The DefaultRolePermissions Property provides the default permissions if a Server supports
|
|
49
|
+
* RolePermissions for the Namespace. A Node in the Namespace overrides this default by adding
|
|
50
|
+
* a RolePermissions Attribute to the Node. If a Server implements a vendor-specific
|
|
51
|
+
* RolePermissions model for a Namespace, it does not add the DefaultRolePermissions Property
|
|
52
|
+
* to the NamespaceMetadata Object.
|
|
53
|
+
* */
|
|
54
|
+
defaultRolePermissions?: UAVariableT<RolePermissionType[], DataType.ExtensionObject>;
|
|
55
|
+
/**
|
|
56
|
+
* The DefaultUserRolePermissions Property provides the default user permissions if a Server
|
|
57
|
+
* supports UserRolePermissions for the Namespace. A Node in the Namespace overrides this
|
|
58
|
+
* default by adding a UserRolePermissions Attribute to the Node. If a Server implements a
|
|
59
|
+
* vendor-specific UserRolePermissions model for a Namespace, it does not add the
|
|
60
|
+
* DefaultUserRolePermissions Property to the NamespaceMetadata Object.
|
|
61
|
+
*/
|
|
62
|
+
defaultUserRolePermissions?: UAVariableT<RolePermissionType[], DataType.ExtensionObject>;
|
|
63
|
+
/**
|
|
64
|
+
* The DefaultAccessRestrictions Property is present if a Server supports AccessRestrictions for
|
|
65
|
+
* the Namespace and provides the defaults. A Node in the Namespace overrides this default by
|
|
66
|
+
* adding a AccessRestrictions Attribute to the Node. If a Server implements a vendor-specific
|
|
67
|
+
* AccessRestriction model for a Namespace, it does not add the DefaultAccessRestrictions
|
|
68
|
+
* Property to the NamespaceMetadata Object.
|
|
69
|
+
*/
|
|
70
|
+
defaultAccessRestrictions?: UAVariableT<number, DataType.UInt16>;
|
|
71
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ua_namespace_meta_data_type.js","sourceRoot":"","sources":["../../source/ua_namespace_meta_data_type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ua_root_folder.js","sourceRoot":"","sources":["../../source/ua_root_folder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*/
|
|
4
|
+
import { UAVariableT } from "node-opcua-address-space-base";
|
|
5
|
+
import { LocalizedText } from "node-opcua-data-model";
|
|
6
|
+
import { UAStateVariable, UATwoStateVariable_Base } from "node-opcua-nodeset-ua";
|
|
7
|
+
import { DataType } from "node-opcua-variant";
|
|
8
|
+
/**
|
|
9
|
+
* @see https://reference.opcfoundation.org/v104/Core/docs/Part9/5.2/
|
|
10
|
+
* @see https://reference.opcfoundation.org/v104/Core/VariableTypes/TwoStateVariableType/
|
|
11
|
+
* @see https://reference.opcfoundation.org/v104/Core/ReferenceTypes/HasFalseSubState/
|
|
12
|
+
*/
|
|
13
|
+
export interface UATwoStateVariableHelper {
|
|
14
|
+
readonly isFalseSubStateOf: UAStateVariable<LocalizedText> | null;
|
|
15
|
+
readonly isTrueSubStateOf: UAStateVariable<LocalizedText> | null;
|
|
16
|
+
setValue(boolValue: boolean): void;
|
|
17
|
+
getValue(): boolean;
|
|
18
|
+
getValueAsString(): string;
|
|
19
|
+
getFalseSubStates(): UAStateVariable<LocalizedText>[];
|
|
20
|
+
getTrueSubStates(): UAStateVariable<LocalizedText>[];
|
|
21
|
+
}
|
|
22
|
+
export interface UATwoStateVariableEx extends UAVariableT<LocalizedText, DataType.LocalizedText>, UATwoStateVariableHelper, UATwoStateVariable_Base<LocalizedText> {
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ua_two_state_variable_ex.js","sourceRoot":"","sources":["../../source/ua_two_state_variable_ex.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface XmlWriter {
|
|
2
|
+
translationTable: any;
|
|
3
|
+
visitedNode: any;
|
|
4
|
+
startElement(elementName: string): this;
|
|
5
|
+
endElement(): this;
|
|
6
|
+
writeAttribute(attributeName: string, attributeValue: string | number): this;
|
|
7
|
+
writeComment(comment: string): this;
|
|
8
|
+
text(str: string): this;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml_writer.js","sourceRoot":"","sources":["../../source/xml_writer.ts"],"names":[],"mappings":""}
|