node-opcua-address-space 2.169.0 → 2.172.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/dist/source/address_space_ts.d.ts +13 -13
- package/dist/source/address_space_ts.js +4 -0
- package/dist/source/address_space_ts.js.map +1 -1
- package/dist/source/continuation_points/continuation_point_manager.d.ts +6 -3
- package/dist/source/continuation_points/continuation_point_manager.js +4 -4
- package/dist/source/continuation_points/continuation_point_manager.js.map +1 -1
- package/dist/source/helpers/adjust_browse_direction.d.ts +1 -1
- package/dist/source/helpers/argument_list.d.ts +13 -11
- package/dist/source/helpers/argument_list.js +24 -15
- package/dist/source/helpers/argument_list.js.map +1 -1
- package/dist/source/helpers/call_helpers.d.ts +6 -3
- package/dist/source/helpers/call_helpers.js +5 -6
- package/dist/source/helpers/call_helpers.js.map +1 -1
- package/dist/source/helpers/coerce_enum_value.d.ts +2 -2
- package/dist/source/helpers/coerce_enum_value.js +2 -2
- package/dist/source/helpers/coerce_enum_value.js.map +1 -1
- package/dist/source/helpers/dump_tools.d.ts +3 -3
- package/dist/source/helpers/dump_tools.js +2 -2
- package/dist/source/helpers/dump_tools.js.map +1 -1
- package/dist/source/helpers/ensure_secure_access.d.ts +1 -1
- package/dist/source/helpers/ensure_secure_access.js +1 -1
- package/dist/source/helpers/ensure_secure_access.js.map +1 -1
- package/dist/source/helpers/make_optionals_map.js +0 -5
- package/dist/source/helpers/make_optionals_map.js.map +1 -1
- package/dist/source/helpers/multiform_func.d.ts +1 -1
- package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +1 -1
- package/dist/source/helpers/resolve_opaque_on_address_space.js +1 -1
- package/dist/source/helpers/resolve_opaque_on_address_space.js.map +1 -1
- package/dist/source/index.d.ts +38 -38
- package/dist/source/index.js +53 -54
- package/dist/source/index.js.map +1 -1
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +3 -3
- package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +11 -11
- package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +6 -6
- package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +3 -3
- package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +4 -4
- package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +4 -3
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +3 -3
- package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +10 -13
- package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +11 -11
- package/dist/source/interfaces/alarms_and_conditions/ua_base_event_ex.d.ts +11 -0
- package/dist/source/interfaces/alarms_and_conditions/ua_base_event_ex.js +3 -0
- package/dist/source/interfaces/alarms_and_conditions/ua_base_event_ex.js.map +1 -0
- package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +5 -5
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +21 -29
- package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +3 -7
- package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +0 -23
- package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +1 -1
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +3 -3
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +8 -10
- package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +4 -6
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +5 -5
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +3 -3
- package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +7 -7
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +5 -8
- package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +5 -5
- package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +3 -3
- package/dist/source/interfaces/extension_object_constructor.d.ts +3 -3
- package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +3 -3
- package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +2 -2
- package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +3 -3
- package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +6 -6
- package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +7 -6
- package/dist/source/interfaces/state_machine/ua_state_machine_type.js +4 -0
- package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +1 -1
- package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +2 -2
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +2 -2
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +3 -0
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -1
- package/dist/source/loader/decode_xml_extension_object.d.ts +4 -4
- package/dist/source/loader/decode_xml_extension_object.js +3 -3
- package/dist/source/loader/decode_xml_extension_object.js.map +1 -1
- package/dist/source/loader/ensure_datatype_extracted.d.ts +2 -2
- package/dist/source/loader/ensure_datatype_extracted.js +5 -5
- package/dist/source/loader/ensure_datatype_extracted.js.map +1 -1
- package/dist/source/loader/generateAddressSpaceRaw.d.ts +3 -3
- package/dist/source/loader/generateAddressSpaceRaw.js +6 -6
- package/dist/source/loader/generateAddressSpaceRaw.js.map +1 -1
- package/dist/source/loader/load_nodeset2.js.map +1 -1
- package/dist/source/loader/make_xml_extension_object_parser.d.ts +2 -2
- package/dist/source/loader/make_xml_extension_object_parser.js +19 -19
- package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
- package/dist/source/loader/namespace_post_step.d.ts +1 -1
- package/dist/source/loader/namespace_post_step.js.map +1 -1
- package/dist/source/loader/parsers/extension_object_parser.d.ts +4 -4
- package/dist/source/loader/parsers/extension_object_parser.js +22 -23
- package/dist/source/loader/parsers/extension_object_parser.js.map +1 -1
- package/dist/source/loader/parsers/localized_text_parser.d.ts +2 -2
- package/dist/source/loader/parsers/localized_text_parser.js.map +1 -1
- package/dist/source/loader/parsers/nodeid_parser.d.ts +1 -1
- package/dist/source/loader/parsers/nodeid_parser.js.map +1 -1
- package/dist/source/loader/parsers/qualified_name_parser.d.ts +3 -3
- package/dist/source/loader/parsers/qualified_name_parser.js.map +1 -1
- package/dist/source/loader/parsers/variant_parser.d.ts +5 -5
- package/dist/source/loader/parsers/variant_parser.js +13 -13
- package/dist/source/loader/parsers/variant_parser.js.map +1 -1
- package/dist/source/loader/register_node_promoter.d.ts +1 -1
- package/dist/source/loader/register_node_promoter.js.map +1 -1
- package/dist/source/namespace.d.ts +4 -4
- package/dist/source/namespace_alarm_and_condition.d.ts +22 -21
- package/dist/source/namespace_data_access.d.ts +11 -11
- package/dist/source/namespace_machine_state.d.ts +4 -4
- package/dist/source/pseudo_session.d.ts +8 -5
- package/dist/source/pseudo_session.js +28 -28
- package/dist/source/pseudo_session.js.map +1 -1
- package/dist/source/session_context.js +1 -1
- package/dist/source/session_context.js.map +1 -1
- package/dist/source/set_namespace_meta_data.d.ts +1 -1
- package/dist/source/set_namespace_meta_data.js +1 -1
- package/dist/source/set_namespace_meta_data.js.map +1 -1
- package/dist/source/ua_addin.d.ts +3 -3
- package/dist/source/ua_addin.js +1 -1
- package/dist/source/ua_addin.js.map +1 -1
- package/dist/source/ua_interface.d.ts +2 -3
- package/dist/source/ua_interface.js +13 -33
- package/dist/source/ua_interface.js.map +1 -1
- package/dist/source/ua_root_folder.d.ts +1 -1
- package/dist/source/ua_two_state_variable_ex.d.ts +5 -5
- package/dist/src/_instantiate_helpers.d.ts +1 -1
- package/dist/src/_instantiate_helpers.js +32 -9
- package/dist/src/_instantiate_helpers.js.map +1 -1
- package/dist/src/_mandatory_child_or_requested_optional_filter.d.ts +2 -2
- package/dist/src/_mandatory_child_or_requested_optional_filter.js +9 -10
- package/dist/src/_mandatory_child_or_requested_optional_filter.js.map +1 -1
- package/dist/src/address_space.d.ts +2 -2
- package/dist/src/address_space.js +13 -15
- package/dist/src/address_space.js.map +1 -1
- package/dist/src/address_space_change_event_tools.d.ts +3 -3
- package/dist/src/address_space_change_event_tools.js +8 -10
- package/dist/src/address_space_change_event_tools.js.map +1 -1
- package/dist/src/address_space_private.d.ts +11 -11
- package/dist/src/address_space_private.js +3 -0
- package/dist/src/address_space_private.js.map +1 -1
- package/dist/src/alarms_and_conditions/condition.js.map +1 -1
- package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +6 -6
- package/dist/src/alarms_and_conditions/condition_info_impl.js +6 -15
- package/dist/src/alarms_and_conditions/condition_info_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +10 -10
- package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +77 -48
- package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +8 -5
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +15 -9
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -1
- package/dist/src/alarms_and_conditions/index.d.ts +3 -3
- package/dist/src/alarms_and_conditions/index.js +3 -3
- package/dist/src/alarms_and_conditions/index.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +21 -14
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +26 -21
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +6 -7
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +30 -28
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +9 -11
- package/dist/src/alarms_and_conditions/ua_base_event_impl.js +10 -10
- package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +3 -1
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +6 -5
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +16 -42
- package/dist/src/alarms_and_conditions/ua_condition_impl.js +100 -82
- package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +12 -7
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +9 -8
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +18 -18
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +16 -18
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +4 -4
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +2 -2
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +10 -9
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +20 -19
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +2 -4
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +12 -38
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +50 -65
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +15 -17
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +15 -11
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +22 -15
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +35 -24
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +15 -16
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +19 -14
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +4 -4
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +1 -1
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
- package/dist/src/apply_condition_refresh.d.ts +4 -4
- package/dist/src/apply_condition_refresh.js +1 -1
- package/dist/src/apply_condition_refresh.js.map +1 -1
- package/dist/src/base_node_impl.d.ts +5 -7
- package/dist/src/base_node_impl.js +3 -3
- package/dist/src/base_node_impl.js.map +1 -1
- package/dist/src/base_node_private.d.ts +10 -7
- package/dist/src/base_node_private.js +73 -50
- package/dist/src/base_node_private.js.map +1 -1
- package/dist/src/check_value_rank_compatibility.js +11 -7
- package/dist/src/check_value_rank_compatibility.js.map +1 -1
- package/dist/src/data_access/add_dataItem_stuff.d.ts +1 -1
- package/dist/src/data_access/add_dataItem_stuff.js +2 -22
- package/dist/src/data_access/add_dataItem_stuff.js.map +1 -1
- package/dist/src/data_access/adjust_datavalue_status_code.d.ts +6 -3
- package/dist/src/data_access/adjust_datavalue_status_code.js +3 -3
- package/dist/src/data_access/adjust_datavalue_status_code.js.map +1 -1
- package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +13 -11
- package/dist/src/data_access/ua_multistate_discrete_impl.js +28 -23
- package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -1
- package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +19 -23
- package/dist/src/data_access/ua_multistate_value_discrete_impl.js +31 -31
- package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +1 -1
- package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +10 -16
- package/dist/src/data_access/ua_two_state_discrete_impl.js +18 -14
- package/dist/src/data_access/ua_two_state_discrete_impl.js.map +1 -1
- package/dist/src/event_data.d.ts +8 -21
- package/dist/src/event_data.js +24 -19
- package/dist/src/event_data.js.map +1 -1
- package/dist/src/extension_object_array_node.d.ts +5 -2
- package/dist/src/extension_object_array_node.js +21 -24
- package/dist/src/extension_object_array_node.js.map +1 -1
- package/dist/src/get_basic_datatype.d.ts +2 -2
- package/dist/src/get_basic_datatype.js.map +1 -1
- package/dist/src/historical_access/address_space_historical_data_node.d.ts +3 -3
- package/dist/src/historical_access/address_space_historical_data_node.js +24 -17
- package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -1
- package/dist/src/idx_iterator.js +1 -1
- package/dist/src/idx_iterator.js.map +1 -1
- package/dist/src/index_current.d.ts +31 -31
- package/dist/src/index_current.js +45 -45
- package/dist/src/index_current.js.map +1 -1
- package/dist/src/namespace_impl.d.ts +4 -3
- package/dist/src/namespace_impl.js +17 -14
- package/dist/src/namespace_impl.js.map +1 -1
- package/dist/src/namespace_private.js.map +1 -1
- package/dist/src/nodeid_manager.d.ts +3 -3
- package/dist/src/nodeid_manager.js +19 -16
- package/dist/src/nodeid_manager.js.map +1 -1
- package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +1 -1
- package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
- package/dist/src/nodeset_tools/construct_namespace_dependency.js +7 -7
- package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +1 -1
- package/dist/src/nodeset_tools/dump_to_bsd.d.ts +1 -1
- package/dist/src/nodeset_tools/dump_to_bsd.js +15 -11
- package/dist/src/nodeset_tools/dump_to_bsd.js.map +1 -1
- package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +5 -3
- package/dist/src/nodeset_tools/nodeset_to_xml.js +64 -67
- package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -1
- package/dist/src/private_namespace.d.ts +2 -2
- package/dist/src/private_namespace.js.map +1 -1
- package/dist/src/reference_impl.d.ts +2 -2
- package/dist/src/reference_impl.js +9 -11
- package/dist/src/reference_impl.js.map +1 -1
- package/dist/src/role_permissions.d.ts +1 -1
- package/dist/src/role_permissions.js.map +1 -1
- package/dist/src/state_machine/finite_state_machine.d.ts +11 -14
- package/dist/src/state_machine/finite_state_machine.js +36 -30
- package/dist/src/state_machine/finite_state_machine.js.map +1 -1
- package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +8 -6
- package/dist/src/state_machine/ua_shelving_state_machine_ex.js +16 -18
- package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -1
- package/dist/src/state_machine/ua_two_state_variable.d.ts +12 -11
- package/dist/src/state_machine/ua_two_state_variable.js +24 -29
- package/dist/src/state_machine/ua_two_state_variable.js.map +1 -1
- package/dist/src/tool_isSubtypeOf.d.ts +5 -5
- package/dist/src/tool_isSubtypeOf.js +21 -18
- package/dist/src/tool_isSubtypeOf.js.map +1 -1
- package/dist/src/ua_condition_type.d.ts +1 -1
- package/dist/src/ua_data_type_impl.js.map +1 -1
- package/dist/src/ua_method_impl.d.ts +9 -5
- package/dist/src/ua_method_impl.js +1 -1
- package/dist/src/ua_method_impl.js.map +1 -1
- package/dist/src/ua_object_impl.d.ts +10 -7
- package/dist/src/ua_object_impl.js +43 -15
- package/dist/src/ua_object_impl.js.map +1 -1
- package/dist/src/ua_object_type_impl.d.ts +7 -5
- package/dist/src/ua_object_type_impl.js +6 -7
- package/dist/src/ua_object_type_impl.js.map +1 -1
- package/dist/src/ua_reference_type_impl.d.ts +6 -8
- package/dist/src/ua_reference_type_impl.js +16 -14
- package/dist/src/ua_reference_type_impl.js.map +1 -1
- package/dist/src/ua_variable_impl.d.ts +44 -45
- package/dist/src/ua_variable_impl.js +177 -83
- package/dist/src/ua_variable_impl.js.map +1 -1
- package/dist/src/ua_variable_impl_ext_obj.d.ts +3 -3
- package/dist/src/ua_variable_impl_ext_obj.js +37 -29
- package/dist/src/ua_variable_impl_ext_obj.js.map +1 -1
- package/dist/src/ua_variable_type_impl.d.ts +11 -11
- package/dist/src/ua_variable_type_impl.js +13 -21
- package/dist/src/ua_variable_type_impl.js.map +1 -1
- package/dist/src/ua_view_impl.d.ts +3 -4
- package/dist/src/ua_view_impl.js +5 -6
- package/dist/src/ua_view_impl.js.map +1 -1
- package/dist/src/validate_data_type_correctness.d.ts +2 -2
- package/dist/src/validate_data_type_correctness.js +12 -3
- package/dist/src/validate_data_type_correctness.js.map +1 -1
- package/dist/tsconfig_base.tsbuildinfo +1 -1
- package/distHelpers/add_event_generator_object.d.ts +5 -2
- package/distHelpers/add_event_generator_object.js +2 -2
- package/distHelpers/add_event_generator_object.js.map +1 -1
- package/distHelpers/alarms_and_conditions_demo.d.ts +1 -1
- package/distHelpers/alarms_and_conditions_demo.js +4 -6
- package/distHelpers/alarms_and_conditions_demo.js.map +1 -1
- package/distHelpers/assertHasMatchingReference.d.ts +1 -1
- package/distHelpers/assertHasMatchingReference.js +2 -2
- package/distHelpers/assertHasMatchingReference.js.map +1 -1
- package/distHelpers/boiler_system.d.ts +6 -3
- package/distHelpers/boiler_system.js +44 -42
- package/distHelpers/boiler_system.js.map +1 -1
- package/distHelpers/create_minimalist_address_space_nodeset.d.ts +1 -1
- package/distHelpers/create_minimalist_address_space_nodeset.js +25 -27
- package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -1
- package/distHelpers/get_address_space_fixture.js +15 -15
- package/distHelpers/get_address_space_fixture.js.map +1 -1
- package/distHelpers/index.d.ts +2 -2
- package/distHelpers/index.js +2 -2
- package/distHelpers/index.js.map +1 -1
- package/distHelpers/mock_session.d.ts +7 -7
- package/distHelpers/mock_session.js +4 -4
- package/distHelpers/mock_session.js.map +1 -1
- package/distNodeJS/generate_address_space.d.ts +2 -2
- package/distNodeJS/generate_address_space.js +2 -2
- package/distNodeJS/generate_address_space.js.map +1 -1
- package/package.json +36 -36
- package/source/address_space_ts.ts +29 -30
- package/source/continuation_points/continuation_point_manager.ts +8 -7
- package/source/helpers/adjust_browse_direction.ts +1 -1
- package/source/helpers/argument_list.ts +37 -25
- package/source/helpers/call_helpers.ts +10 -15
- package/source/helpers/coerce_enum_value.ts +4 -4
- package/source/helpers/dump_tools.ts +6 -11
- package/source/helpers/ensure_secure_access.ts +2 -2
- package/source/helpers/make_optionals_map.ts +3 -10
- package/source/helpers/multiform_func.ts +1 -1
- package/source/helpers/resolve_opaque_on_address_space.ts +2 -2
- package/source/index.ts +44 -54
- package/source/interfaces/alarms_and_conditions/condition_info_i.ts +3 -4
- package/source/interfaces/alarms_and_conditions/condition_snapshot.ts +13 -13
- package/source/interfaces/alarms_and_conditions/deviation_stuff.ts +8 -10
- package/source/interfaces/alarms_and_conditions/install_setpoint_options.ts +4 -5
- package/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +4 -6
- package/source/interfaces/alarms_and_conditions/instantiate_condition_options.ts +3 -3
- package/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.ts +2 -2
- package/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +2 -2
- package/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +6 -3
- package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.ts +2 -2
- package/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.ts +2 -2
- package/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +11 -11
- package/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +11 -25
- package/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +16 -13
- package/source/interfaces/alarms_and_conditions/ua_base_event_ex.ts +12 -0
- package/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +5 -5
- package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +30 -54
- package/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +3 -34
- package/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +18 -22
- package/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +8 -15
- package/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +4 -7
- package/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +5 -6
- package/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +3 -3
- package/source/interfaces/data_access/ua_multistate_discrete_ex.ts +9 -16
- package/source/interfaces/data_access/ua_multistate_value_discrete_ex.ts +5 -8
- package/source/interfaces/data_access/ua_two_state_discrete_ex.ts +5 -5
- package/source/interfaces/data_access/ua_y_array_item_ex.ts +3 -3
- package/source/interfaces/extension_object_constructor.ts +3 -4
- package/source/interfaces/i_condition_variable_type_setter_options.ts +1 -3
- package/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.ts +3 -3
- package/source/interfaces/state_machine/ua_finite_state_machine_type.ts +2 -2
- package/source/interfaces/state_machine/ua_program_state_machine_type.ts +3 -3
- package/source/interfaces/state_machine/ua_shelved_state_machine_ex.ts +10 -7
- package/source/interfaces/state_machine/ua_state_machine_type.ts +11 -8
- package/source/interfaces/state_machine/ua_transition_ex.ts +2 -2
- package/source/interfaces/ua_subscription_diagnostics_variable_ex.ts +3 -2
- package/source/loader/decode_xml_extension_object.ts +7 -7
- package/source/loader/ensure_datatype_extracted.ts +14 -19
- package/source/loader/generateAddressSpaceRaw.ts +12 -13
- package/source/loader/load_nodeset2.ts +3 -3
- package/source/loader/make_xml_extension_object_parser.ts +55 -39
- package/source/loader/namespace_post_step.ts +3 -4
- package/source/loader/parsers/extension_object_parser.ts +63 -62
- package/source/loader/parsers/localized_text_parser.ts +3 -3
- package/source/loader/parsers/nodeid_parser.ts +2 -3
- package/source/loader/parsers/qualified_name_parser.ts +6 -7
- package/source/loader/parsers/variant_parser.ts +48 -55
- package/source/loader/register_node_promoter.ts +2 -2
- package/source/namespace.ts +4 -4
- package/source/namespace_alarm_and_condition.ts +22 -22
- package/source/namespace_data_access.ts +12 -13
- package/source/namespace_machine_state.ts +10 -5
- package/source/pseudo_session.ts +53 -50
- package/source/session_context.ts +1 -1
- package/source/set_namespace_meta_data.ts +3 -3
- package/source/ua_addin.ts +10 -11
- package/source/ua_interface.ts +27 -38
- package/source/ua_root_folder.ts +1 -1
- package/source/ua_two_state_variable_ex.ts +5 -5
- package/source_nodejs/generate_address_space.ts +5 -9
- package/src/_instantiate_helpers.ts +78 -25
- package/src/_mandatory_child_or_requested_optional_filter.ts +20 -19
- package/src/address_space.ts +36 -45
- package/src/address_space_change_event_tools.ts +25 -30
- package/src/address_space_private.ts +20 -21
- package/src/alarms_and_conditions/condition.ts +0 -2
- package/src/alarms_and_conditions/condition_info_impl.ts +11 -19
- package/src/alarms_and_conditions/condition_snapshot_impl.ts +109 -85
- package/src/alarms_and_conditions/deviation_alarm_helper.ts +20 -15
- package/src/alarms_and_conditions/index.ts +3 -3
- package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +44 -32
- package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +35 -34
- package/src/alarms_and_conditions/ua_base_event_impl.ts +15 -19
- package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +6 -2
- package/src/alarms_and_conditions/ua_condition_impl.ts +140 -130
- package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +20 -12
- package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +40 -43
- package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +7 -7
- package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +28 -30
- package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +3 -6
- package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +59 -90
- package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +31 -27
- package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +57 -36
- package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +31 -27
- package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +6 -6
- package/src/apply_condition_refresh.ts +7 -8
- package/src/base_node_impl.ts +64 -45
- package/src/base_node_private.ts +171 -139
- package/src/check_value_rank_compatibility.ts +19 -15
- package/src/data_access/add_dataItem_stuff.ts +3 -4
- package/src/data_access/adjust_datavalue_status_code.ts +7 -7
- package/src/data_access/ua_multistate_discrete_impl.ts +44 -28
- package/src/data_access/ua_multistate_value_discrete_impl.ts +77 -66
- package/src/data_access/ua_two_state_discrete_impl.ts +29 -36
- package/src/event_data.ts +29 -26
- package/src/extension_object_array_node.ts +27 -28
- package/src/get_basic_datatype.ts +4 -5
- package/src/historical_access/address_space_historical_data_node.ts +65 -50
- package/src/idx_iterator.ts +4 -12
- package/src/index_current.ts +33 -45
- package/src/namespace_impl.ts +75 -62
- package/src/namespace_private.ts +2 -8
- package/src/nodeid_manager.ts +30 -27
- package/src/nodeset_tools/adjust_namespace_array.ts +1 -1
- package/src/nodeset_tools/construct_namespace_dependency.ts +15 -16
- package/src/nodeset_tools/dump_to_bsd.ts +27 -22
- package/src/nodeset_tools/nodeset_to_xml.ts +95 -114
- package/src/private_namespace.ts +3 -6
- package/src/reference_impl.ts +11 -14
- package/src/role_permissions.ts +1 -1
- package/src/state_machine/finite_state_machine.ts +60 -61
- package/src/state_machine/ua_shelving_state_machine_ex.ts +23 -23
- package/src/state_machine/ua_two_state_variable.ts +34 -31
- package/src/tool_isSubtypeOf.ts +48 -33
- package/src/ua_condition_type.ts +1 -1
- package/src/ua_data_type_impl.ts +12 -13
- package/src/ua_method_impl.ts +17 -12
- package/src/ua_object_impl.ts +73 -39
- package/src/ua_object_type_impl.ts +25 -25
- package/src/ua_reference_type_impl.ts +19 -19
- package/src/ua_variable_impl.ts +316 -219
- package/src/ua_variable_impl_ext_obj.ts +63 -50
- package/src/ua_variable_type_impl.ts +43 -49
- package/src/ua_view_impl.ts +5 -5
- package/src/validate_data_type_correctness.ts +17 -8
|
@@ -3,66 +3,54 @@
|
|
|
3
3
|
* @module node-opcua-address-space.AlarmsAndConditions
|
|
4
4
|
*/
|
|
5
5
|
import chalk from "chalk";
|
|
6
|
-
|
|
6
|
+
import {
|
|
7
|
+
type BaseNode,
|
|
8
|
+
fullPath2,
|
|
9
|
+
type INamespace,
|
|
10
|
+
type ISessionContext,
|
|
11
|
+
type ListenerSignature,
|
|
12
|
+
type UAEventType,
|
|
13
|
+
type UAObject,
|
|
14
|
+
type UAVariable
|
|
15
|
+
} from "node-opcua-address-space-base";
|
|
7
16
|
import { assert } from "node-opcua-assert";
|
|
8
|
-
import { ByteString, minDate } from "node-opcua-basic-types";
|
|
9
|
-
import { randomGuid } from "node-opcua-basic-types";
|
|
17
|
+
import { type ByteString, getMinOPCUADate, minDate, randomGuid } from "node-opcua-basic-types";
|
|
10
18
|
import {
|
|
11
19
|
AttributeIds,
|
|
12
20
|
BrowseDirection,
|
|
13
21
|
coerceLocalizedText,
|
|
14
22
|
LocalizedText,
|
|
15
|
-
LocalizedTextLike,
|
|
23
|
+
type LocalizedTextLike,
|
|
16
24
|
makeAccessLevelFlag,
|
|
17
25
|
NodeClass,
|
|
18
26
|
QualifiedName
|
|
19
27
|
} from "node-opcua-data-model";
|
|
20
28
|
import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
|
|
21
|
-
import { getMinOPCUADate } from "node-opcua-basic-types";
|
|
22
29
|
import { coerceNodeId, makeNodeId, NodeId, resolveNodeId, sameNodeId } from "node-opcua-nodeid";
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
fullPath2
|
|
36
|
-
} from "node-opcua-address-space-base";
|
|
37
|
-
import { UAConditionVariable } from "node-opcua-nodeset-ua";
|
|
38
|
-
|
|
39
|
-
import { ConditionInfoOptions } from "../../source/interfaces/alarms_and_conditions/condition_info_i";
|
|
40
|
-
import { UAConditionEx } from "../../source/interfaces/alarms_and_conditions/ua_condition_ex";
|
|
41
|
-
import { ConditionSnapshot } from "../../source/interfaces/alarms_and_conditions/condition_snapshot";
|
|
42
|
-
import { InstantiateConditionOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_condition_options";
|
|
43
|
-
import { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
|
|
44
|
-
|
|
45
|
-
import { AddressSpacePrivate } from "../address_space_private";
|
|
30
|
+
import type { UAConditionVariable } from "node-opcua-nodeset-ua";
|
|
31
|
+
import { type CallbackT, StatusCode, StatusCodes } from "node-opcua-status-code";
|
|
32
|
+
import { type CallMethodResultOptions, TimeZoneDataType } from "node-opcua-types";
|
|
33
|
+
import { DataType, Variant, type VariantLike, type VariantOptions } from "node-opcua-variant";
|
|
34
|
+
|
|
35
|
+
import type { ConditionInfoOptions } from "../../source/interfaces/alarms_and_conditions/condition_info_i";
|
|
36
|
+
import type { ConditionSnapshot } from "../../source/interfaces/alarms_and_conditions/condition_snapshot";
|
|
37
|
+
import type { InstantiateConditionOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_condition_options";
|
|
38
|
+
import type { UAConditionEvents, UAConditionEx } from "../../source/interfaces/alarms_and_conditions/ua_condition_ex";
|
|
39
|
+
import type { ISetStateOptions } from "../../source/interfaces/i_set_state_options";
|
|
40
|
+
|
|
41
|
+
import type { AddressSpacePrivate } from "../address_space_private";
|
|
46
42
|
import { _install_TwoStateVariable_machinery } from "../state_machine/ua_two_state_variable";
|
|
43
|
+
import type { UAConditionType } from "../ua_condition_type";
|
|
47
44
|
import { UAObjectImpl } from "../ua_object_impl";
|
|
48
|
-
import { UAVariableImpl } from "../ua_variable_impl";
|
|
49
|
-
import { UAConditionType } from "../ua_condition_type";
|
|
50
|
-
import { UABaseEventImpl } from "./ua_base_event_impl";
|
|
45
|
+
import type { UAVariableImpl } from "../ua_variable_impl";
|
|
51
46
|
import { ConditionSnapshotImpl } from "./condition_snapshot_impl";
|
|
47
|
+
import { UABaseEventImplBase } from "./ua_base_event_impl";
|
|
52
48
|
|
|
53
49
|
const debugLog = make_debugLog(__filename);
|
|
54
50
|
const errorLog = make_errorLog(__filename);
|
|
55
51
|
const doDebug = checkDebugFlag(__filename);
|
|
56
52
|
const warningLog = make_warningLog(__filename);
|
|
57
53
|
|
|
58
|
-
export declare interface UAConditionImpl extends UAConditionEx, UABaseEventImpl {
|
|
59
|
-
on(eventName: string, eventHandler: any): this;
|
|
60
|
-
once(eventName: string, eventHandler: any): this;
|
|
61
|
-
conditionClassId: UAProperty<NodeId, /*c*/ DataType.NodeId>;
|
|
62
|
-
conditionClassName: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
|
|
63
|
-
conditionSubClassId?: UAProperty<NodeId[], DataType.NodeId>;
|
|
64
|
-
conditionSubClassName?: UAProperty<LocalizedText[], DataType.LocalizedText>;
|
|
65
|
-
}
|
|
66
54
|
/**
|
|
67
55
|
*
|
|
68
56
|
* └─ ConditionType
|
|
@@ -85,14 +73,17 @@ export declare interface UAConditionImpl extends UAConditionEx, UABaseEventImpl
|
|
|
85
73
|
* │ └─ TripAlarmType
|
|
86
74
|
*
|
|
87
75
|
*/
|
|
88
|
-
|
|
76
|
+
|
|
77
|
+
const $ = (a: UAConditionImplBase): UAConditionEx => a as unknown as UAConditionEx;
|
|
78
|
+
|
|
79
|
+
export class UAConditionImplBase<T extends UAConditionEvents & ListenerSignature<T> = UAConditionEvents> extends UABaseEventImplBase<T> {
|
|
89
80
|
public static defaultSeverity = 250;
|
|
90
81
|
public static typeDefinition = resolveNodeId("ConditionType");
|
|
91
82
|
|
|
92
83
|
public static instantiate(
|
|
93
84
|
namespace: INamespace,
|
|
94
85
|
conditionTypeId: NodeId | string | UAEventType,
|
|
95
|
-
options:
|
|
86
|
+
options: InstantiateConditionOptions,
|
|
96
87
|
data?: Record<string, VariantOptions>
|
|
97
88
|
): UAConditionImpl {
|
|
98
89
|
return UACondition_instantiate(namespace, conditionTypeId, options, data) as UAConditionImpl;
|
|
@@ -191,9 +182,9 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
191
182
|
statusCode
|
|
192
183
|
});
|
|
193
184
|
}
|
|
194
|
-
private _branch0: ConditionSnapshot = null as
|
|
185
|
+
private _branch0: ConditionSnapshot = null as unknown as ConditionSnapshot;
|
|
195
186
|
private _previousRetainFlag = false;
|
|
196
|
-
private _branches: Map<string, ConditionSnapshot> = new Map()
|
|
187
|
+
private _branches: Map<string, ConditionSnapshot> = new Map();
|
|
197
188
|
|
|
198
189
|
/**
|
|
199
190
|
* @private
|
|
@@ -225,7 +216,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
225
216
|
}
|
|
226
217
|
|
|
227
218
|
public getBranches(): ConditionSnapshot[] {
|
|
228
|
-
return [...
|
|
219
|
+
return [...this._branches.values()];
|
|
229
220
|
}
|
|
230
221
|
|
|
231
222
|
public getBranchIds(): NodeId[] {
|
|
@@ -248,31 +239,35 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
248
239
|
assert(!sameNodeId(branch.getBranchId(), NodeId.nullNodeId), "cannot delete branch zero");
|
|
249
240
|
assert(this._branches.has(key));
|
|
250
241
|
this._branches.delete(key);
|
|
251
|
-
this.emit("branch_deleted", key);
|
|
242
|
+
(this as UAConditionImplBase ).emit("branch_deleted", key);
|
|
252
243
|
}
|
|
253
244
|
|
|
245
|
+
|
|
246
|
+
private get $() {
|
|
247
|
+
return this as unknown as UAConditionEx;
|
|
248
|
+
}
|
|
254
249
|
/**
|
|
255
250
|
*/
|
|
256
251
|
public getEnabledState(): boolean {
|
|
257
|
-
if (!this
|
|
252
|
+
if (!this.$.enabledState) {
|
|
258
253
|
// ua variable is missing
|
|
259
254
|
return false;
|
|
260
255
|
}
|
|
261
|
-
if (typeof this
|
|
256
|
+
if (typeof this.$.enabledState.getValue !== "function") {
|
|
262
257
|
// the enabledState is not initialized yet, probably because the addressSpace is not fully initialized
|
|
263
258
|
// try the id that contains the flag status as a boolean DataValue
|
|
264
|
-
if (!this
|
|
259
|
+
if (!this.$.enabledState.id) {
|
|
265
260
|
return false;
|
|
266
261
|
}
|
|
267
|
-
return this
|
|
262
|
+
return this.$.enabledState.id.readValue().value.value as boolean;
|
|
268
263
|
}
|
|
269
|
-
return this
|
|
264
|
+
return this.$.enabledState.getValue();
|
|
270
265
|
}
|
|
271
266
|
|
|
272
267
|
/**
|
|
273
268
|
*/
|
|
274
269
|
public getEnabledStateAsString(): string {
|
|
275
|
-
return this
|
|
270
|
+
return this.$.enabledState.getValueAsString();
|
|
276
271
|
}
|
|
277
272
|
|
|
278
273
|
/**
|
|
@@ -290,6 +285,12 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
290
285
|
return StatusCodes.BadConditionAlreadyDisabled;
|
|
291
286
|
}
|
|
292
287
|
|
|
288
|
+
let _previousRetainFlag = false;
|
|
289
|
+
if (enabledState) {
|
|
290
|
+
// record previousRetain flag before disabling the condition (so it can be restored on re-enable)
|
|
291
|
+
_previousRetainFlag = this.currentBranch().getRetain();
|
|
292
|
+
}
|
|
293
|
+
|
|
293
294
|
this._branch0.setEnabledState(requestedEnabledState, options);
|
|
294
295
|
// conditionNode.enabledState.setValue(requestedEnabledState);
|
|
295
296
|
|
|
@@ -303,12 +304,12 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
303
304
|
// Condition instance is currently not of interest to Clients.
|
|
304
305
|
// TODO : shall we really set retain to false or artificially expose the retain false as false
|
|
305
306
|
// whist enabled state is false ?
|
|
306
|
-
this._previousRetainFlag =
|
|
307
|
+
this._previousRetainFlag = _previousRetainFlag;
|
|
307
308
|
this.currentBranch().setRetain(false);
|
|
308
309
|
|
|
309
310
|
// todo: install the mechanism by which all condition values will be return
|
|
310
311
|
// as Null | BadConditionDisabled;
|
|
311
|
-
const
|
|
312
|
+
const _statusCode = StatusCodes.BadConditionDisabled;
|
|
312
313
|
|
|
313
314
|
// a notification must be send
|
|
314
315
|
this.raiseConditionEvent(this.currentBranch(), true);
|
|
@@ -324,7 +325,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
324
325
|
// conditionNode.evaluateBranches();
|
|
325
326
|
|
|
326
327
|
// restore retain flag
|
|
327
|
-
if (Object.
|
|
328
|
+
if (Object.hasOwn(this, "_previousRetainFlag")) {
|
|
328
329
|
this.currentBranch().setRetain(this._previousRetainFlag);
|
|
329
330
|
}
|
|
330
331
|
|
|
@@ -353,38 +354,38 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
353
354
|
/**
|
|
354
355
|
*/
|
|
355
356
|
public setReceiveTime(time: Date): void {
|
|
356
|
-
|
|
357
|
+
this._branch0.setReceiveTime(time);
|
|
357
358
|
}
|
|
358
359
|
|
|
359
360
|
/**
|
|
360
361
|
*/
|
|
361
362
|
public setLocalTime(time: TimeZoneDataType): void {
|
|
362
|
-
|
|
363
|
+
this._branch0.setLocalTime(time);
|
|
363
364
|
}
|
|
364
365
|
|
|
365
366
|
/**
|
|
366
367
|
*/
|
|
367
368
|
public setTime(time: Date): void {
|
|
368
|
-
|
|
369
|
+
this._branch0.setTime(time);
|
|
369
370
|
}
|
|
370
371
|
|
|
371
372
|
public _assert_valid(): void {
|
|
372
|
-
assert(this.receiveTime.readValue().value.dataType === DataType.DateTime);
|
|
373
|
-
assert(this.receiveTime.readValue().value.value instanceof Date);
|
|
373
|
+
assert($(this).receiveTime.readValue().value.dataType === DataType.DateTime);
|
|
374
|
+
assert($(this).receiveTime.readValue().value.value instanceof Date);
|
|
374
375
|
|
|
375
|
-
assert(this.message.readValue().value.dataType === DataType.LocalizedText);
|
|
376
|
-
assert(this.severity.readValue().value.dataType === DataType.UInt16);
|
|
376
|
+
assert($(this).message.readValue().value.dataType === DataType.LocalizedText);
|
|
377
|
+
assert($(this).severity.readValue().value.dataType === DataType.UInt16);
|
|
377
378
|
|
|
378
|
-
assert(this.time.readValue().value.dataType === DataType.DateTime);
|
|
379
|
-
assert(this.time.readValue().value.value instanceof Date);
|
|
379
|
+
assert($(this).time.readValue().value.dataType === DataType.DateTime);
|
|
380
|
+
assert($(this).time.readValue().value.value instanceof Date);
|
|
380
381
|
|
|
381
|
-
assert(this.quality.readValue().value.dataType === DataType.StatusCode);
|
|
382
|
+
assert($(this).quality.readValue().value.dataType === DataType.StatusCode);
|
|
382
383
|
|
|
383
|
-
assert(this.enabledState.readValue().value.dataType === DataType.LocalizedText);
|
|
384
|
-
assert(this.branchId.readValue().value.dataType === DataType.NodeId);
|
|
384
|
+
assert($(this).enabledState.readValue().value.dataType === DataType.LocalizedText);
|
|
385
|
+
assert($(this).branchId.readValue().value.dataType === DataType.NodeId);
|
|
385
386
|
|
|
386
387
|
// note localTime has been made optional in 1.04
|
|
387
|
-
assert(
|
|
388
|
+
assert(!$(this).localTime || $(this).localTime?.readValue().value.dataType === DataType.ExtensionObject);
|
|
388
389
|
}
|
|
389
390
|
|
|
390
391
|
/**
|
|
@@ -411,7 +412,6 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
411
412
|
* @param renewEventId true if event Id of the condition branch should be renewed
|
|
412
413
|
*/
|
|
413
414
|
public raiseConditionEvent(branch: ConditionSnapshot, renewEventId: boolean): void {
|
|
414
|
-
assert(arguments.length === 2, "expecting 2 arguments");
|
|
415
415
|
if (renewEventId) {
|
|
416
416
|
branch.renewEventId();
|
|
417
417
|
}
|
|
@@ -428,7 +428,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
428
428
|
if (conditionOfNode) {
|
|
429
429
|
const eventData = (branch as ConditionSnapshotImpl)._constructEventData();
|
|
430
430
|
|
|
431
|
-
this.emit("event", eventData);
|
|
431
|
+
(this as UAConditionImplBase).emit("event", eventData);
|
|
432
432
|
|
|
433
433
|
if (conditionOfNode instanceof UAObjectImpl) {
|
|
434
434
|
// xx assert(conditionOfNode.eventNotifier === 0x01);
|
|
@@ -464,11 +464,11 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
464
464
|
throw new Error("UACondition#raiseNewCondition Condition is not enabled");
|
|
465
465
|
}
|
|
466
466
|
|
|
467
|
-
conditionInfo = conditionInfo || { severity:
|
|
467
|
+
conditionInfo = conditionInfo || { severity: UAConditionImplBase.defaultSeverity };
|
|
468
468
|
|
|
469
|
-
conditionInfo.severity = Object.
|
|
469
|
+
conditionInfo.severity = Object.hasOwn(conditionInfo, "severity")
|
|
470
470
|
? conditionInfo.severity
|
|
471
|
-
:
|
|
471
|
+
: UAConditionImplBase.defaultSeverity;
|
|
472
472
|
|
|
473
473
|
// only valid for ConditionObjects
|
|
474
474
|
// todo check that object is of type ConditionType
|
|
@@ -476,15 +476,14 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
476
476
|
const addressSpace = this.addressSpace;
|
|
477
477
|
|
|
478
478
|
const selfConditionType = this.typeDefinitionObj;
|
|
479
|
-
const conditionType = addressSpace.findObjectType("ConditionType")
|
|
480
|
-
|
|
479
|
+
const conditionType = addressSpace.findObjectType("ConditionType");
|
|
480
|
+
if (!conditionType || !selfConditionType.isSubtypeOf(conditionType)) {
|
|
481
|
+
throw new Error("UACondition#raiseNewCondition ConditionType not found or invalid");
|
|
482
|
+
}
|
|
481
483
|
|
|
482
484
|
const branch = this.currentBranch();
|
|
483
485
|
if (!branch) {
|
|
484
|
-
warningLog(
|
|
485
|
-
"UACondition#raiseNewCondition currentBranch is not defined for node ",
|
|
486
|
-
fullPath2(this)
|
|
487
|
-
);
|
|
486
|
+
warningLog("UACondition#raiseNewCondition currentBranch is not defined for node ", fullPath2(this));
|
|
488
487
|
throw new Error("UACondition#raiseNewCondition currentBranch is not defined");
|
|
489
488
|
}
|
|
490
489
|
const currentDefaultDate = new Date();
|
|
@@ -498,7 +497,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
498
497
|
branch.setReceiveTime(receiveTime);
|
|
499
498
|
|
|
500
499
|
// note : in 1.04 LocalTime property is optional
|
|
501
|
-
if (Object.
|
|
500
|
+
if (Object.hasOwn(this, "localTime")) {
|
|
502
501
|
branch.setLocalTime(
|
|
503
502
|
new TimeZoneDataType({
|
|
504
503
|
daylightSavingInOffset: false,
|
|
@@ -507,23 +506,23 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
507
506
|
);
|
|
508
507
|
}
|
|
509
508
|
|
|
510
|
-
if (Object.
|
|
509
|
+
if (Object.hasOwn(conditionInfo, "message") && conditionInfo.message) {
|
|
511
510
|
branch.setMessage(conditionInfo.message);
|
|
512
511
|
}
|
|
513
512
|
// todo receive time : when the server received the event from the underlying system.
|
|
514
513
|
// self.receiveTime.setValueFromSource();
|
|
515
514
|
|
|
516
|
-
if (Object.
|
|
517
|
-
assert(isFinite(conditionInfo.severity
|
|
518
|
-
branch.setSeverity(conditionInfo.severity
|
|
515
|
+
if (Object.hasOwn(conditionInfo, "severity") && conditionInfo.severity !== null) {
|
|
516
|
+
assert(Number.isFinite(conditionInfo.severity));
|
|
517
|
+
branch.setSeverity(conditionInfo.severity || 0, { sourceTimestamp: time });
|
|
519
518
|
}
|
|
520
|
-
if (Object.
|
|
519
|
+
if (Object.hasOwn(conditionInfo, "quality") && conditionInfo.quality !== null) {
|
|
521
520
|
assert(conditionInfo.quality instanceof StatusCode);
|
|
522
|
-
branch.setQuality(conditionInfo.quality
|
|
521
|
+
branch.setQuality(conditionInfo.quality || StatusCodes.Good, { sourceTimestamp: time });
|
|
523
522
|
}
|
|
524
|
-
if (Object.
|
|
523
|
+
if (Object.hasOwn(conditionInfo, "retain") && conditionInfo.retain !== null) {
|
|
525
524
|
assert(typeof conditionInfo.retain === "boolean");
|
|
526
|
-
branch.setRetain(!!conditionInfo.retain
|
|
525
|
+
branch.setRetain(!!conditionInfo.retain || false);
|
|
527
526
|
}
|
|
528
527
|
|
|
529
528
|
this.raiseConditionEvent(branch, true);
|
|
@@ -548,7 +547,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
548
547
|
// for the time being , only current branch
|
|
549
548
|
const currentBranch = this.currentBranch();
|
|
550
549
|
if (currentBranch.getRetain()) {
|
|
551
|
-
debugLog(
|
|
550
|
+
debugLog(` resending condition event for ${this.browseName.toString()}`);
|
|
552
551
|
this.raiseConditionEvent(currentBranch, false);
|
|
553
552
|
return 1;
|
|
554
553
|
}
|
|
@@ -628,11 +627,10 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
628
627
|
}
|
|
629
628
|
|
|
630
629
|
public findBranchForEventId(eventId: Buffer | null): ConditionSnapshot | null {
|
|
631
|
-
if (sameBuffer(this.eventId
|
|
630
|
+
if (sameBuffer($(this).eventId?.readValue().value.value, eventId)) {
|
|
632
631
|
return this.currentBranch();
|
|
633
632
|
}
|
|
634
|
-
const e = [...this._branches.values()]
|
|
635
|
-
.filter((branch: ConditionSnapshot) => sameBuffer(branch.getEventId(), eventId));
|
|
633
|
+
const e = [...this._branches.values()].filter((branch: ConditionSnapshot) => sameBuffer(branch.getEventId(), eventId));
|
|
636
634
|
if (e.length === 1) {
|
|
637
635
|
return e[0];
|
|
638
636
|
}
|
|
@@ -645,8 +643,10 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
645
643
|
throw new Error("Unimplemented , please override");
|
|
646
644
|
}
|
|
647
645
|
}
|
|
646
|
+
export type UAConditionImpl = UAConditionImplBase & UAConditionEx;
|
|
647
|
+
export const UAConditionImpl = UAConditionImplBase as unknown as new () => UAConditionImpl;
|
|
648
648
|
|
|
649
|
-
|
|
649
|
+
/**²
|
|
650
650
|
* instantiate a Condition.
|
|
651
651
|
* this will create the unique EventId and will set eventType
|
|
652
652
|
* @param namespace {INamespace}
|
|
@@ -684,7 +684,7 @@ function UACondition_instantiate(
|
|
|
684
684
|
|
|
685
685
|
/* c8 ignore next */
|
|
686
686
|
if (!conditionType) {
|
|
687
|
-
throw new Error(
|
|
687
|
+
throw new Error(` cannot find Condition Type for ${conditionTypeId}`);
|
|
688
688
|
}
|
|
689
689
|
|
|
690
690
|
// reminder : abstract event type cannot be instantiated directly !
|
|
@@ -718,30 +718,30 @@ function UACondition_instantiate(
|
|
|
718
718
|
options.optionals.push("EnabledState.EffectiveTransitionTime");
|
|
719
719
|
options.optionals.push("EnabledState.EffectiveDisplayName");
|
|
720
720
|
|
|
721
|
-
const
|
|
721
|
+
const options2 = {
|
|
722
|
+
...options,
|
|
723
|
+
namespace: options.namespace || namespace
|
|
724
|
+
};
|
|
725
|
+
const conditionNode = conditionType.instantiate(options2) as unknown as UAConditionImpl;
|
|
722
726
|
Object.setPrototypeOf(conditionNode, UAConditionImpl.prototype);
|
|
723
727
|
conditionNode.initialize();
|
|
724
728
|
|
|
725
|
-
assert(
|
|
726
|
-
Object.prototype.hasOwnProperty.call(options, "conditionSource"),
|
|
727
|
-
"must specify a condition source either as null or as a UAObject"
|
|
728
|
-
);
|
|
729
|
+
assert(Object.hasOwn(options, "conditionSource"), "must specify a condition source either as null or as a UAObject");
|
|
729
730
|
if (!options.conditionOf) {
|
|
730
731
|
options.conditionOf = options.conditionSource;
|
|
731
732
|
}
|
|
732
733
|
if (options.conditionOf) {
|
|
733
|
-
assert(Object.
|
|
734
|
-
options.conditionOf = addressSpace._coerceNode(options.conditionOf)
|
|
734
|
+
assert(Object.hasOwn(options, "conditionOf")); // must provide a conditionOf
|
|
735
|
+
options.conditionOf = addressSpace._coerceNode(options.conditionOf);
|
|
735
736
|
|
|
736
737
|
// HasCondition References can be used in the Type definition of an Object or a Variable.
|
|
737
|
-
assert(options.conditionOf
|
|
738
|
+
assert(options.conditionOf?.nodeClass === NodeClass.Object || options.conditionOf?.nodeClass === NodeClass.Variable);
|
|
738
739
|
|
|
739
740
|
conditionNode.addReference({
|
|
740
741
|
isForward: false,
|
|
741
|
-
nodeId: options.conditionOf,
|
|
742
|
+
nodeId: options.conditionOf || NodeId.nullNodeId,
|
|
742
743
|
referenceType: "HasCondition"
|
|
743
744
|
});
|
|
744
|
-
assert(conditionNode.conditionOfNode()!.nodeId === options.conditionOf.nodeId);
|
|
745
745
|
}
|
|
746
746
|
|
|
747
747
|
// the constant property of this condition
|
|
@@ -791,7 +791,7 @@ function UACondition_instantiate(
|
|
|
791
791
|
conditionNode.enabledState.setValue(true);
|
|
792
792
|
|
|
793
793
|
// set properties to in initial values
|
|
794
|
-
Object.entries(data
|
|
794
|
+
Object.entries(data || {}).forEach(([key, value]) => {
|
|
795
795
|
const varNode = _getCompositeKey(conditionNode, key);
|
|
796
796
|
assert(varNode.nodeClass === NodeClass.Variable);
|
|
797
797
|
|
|
@@ -802,7 +802,7 @@ function UACondition_instantiate(
|
|
|
802
802
|
|
|
803
803
|
/* c8 ignore next */
|
|
804
804
|
if (!varNode._validate_DataType(variant.dataType)) {
|
|
805
|
-
throw new Error(
|
|
805
|
+
throw new Error(` Invalid variant dataType ${variant} ${varNode.browseName.toString()}`);
|
|
806
806
|
}
|
|
807
807
|
varNode.setValueFromSource(variant);
|
|
808
808
|
});
|
|
@@ -842,8 +842,12 @@ function UACondition_instantiate(
|
|
|
842
842
|
// with the motor.
|
|
843
843
|
|
|
844
844
|
if (options.conditionSource) {
|
|
845
|
-
options.conditionSource = addressSpace._coerceNode(options.conditionSource)
|
|
846
|
-
|
|
845
|
+
options.conditionSource = addressSpace._coerceNode(options.conditionSource);
|
|
846
|
+
|
|
847
|
+
if (
|
|
848
|
+
!options.conditionSource ||
|
|
849
|
+
(options.conditionSource.nodeClass !== NodeClass.Object && options.conditionSource.nodeClass !== NodeClass.Variable)
|
|
850
|
+
) {
|
|
847
851
|
debugLog(options.conditionSource);
|
|
848
852
|
throw new Error("Expecting condition source to be NodeClass.Object or Variable");
|
|
849
853
|
}
|
|
@@ -871,8 +875,8 @@ function UACondition_instantiate(
|
|
|
871
875
|
errorLog("conditionSourceNode = ", conditionSourceNode.nodeId.toString());
|
|
872
876
|
throw new Error(
|
|
873
877
|
"conditionSourceNode must be an event source " +
|
|
874
|
-
|
|
875
|
-
|
|
878
|
+
conditionSourceNode.browseName.toString() +
|
|
879
|
+
conditionSourceNode.nodeId.toString()
|
|
876
880
|
);
|
|
877
881
|
}
|
|
878
882
|
}
|
|
@@ -922,12 +926,12 @@ function UACondition_instantiate(
|
|
|
922
926
|
if (typeof options.conditionClass === "string") {
|
|
923
927
|
options.conditionClass = addressSpace.findObjectType(options.conditionClass);
|
|
924
928
|
if (!options.conditionClass) {
|
|
925
|
-
throw new Error(
|
|
929
|
+
throw new Error(`cannot find condition class ${options.conditionClass}`);
|
|
926
930
|
}
|
|
927
931
|
}
|
|
928
932
|
const conditionClassNode = addressSpace._coerceNode(options.conditionClass);
|
|
929
933
|
if (!conditionClassNode) {
|
|
930
|
-
throw new Error(
|
|
934
|
+
throw new Error(`cannot find condition class ${options.conditionClass.toString()}`);
|
|
931
935
|
}
|
|
932
936
|
conditionClassId = conditionClassNode.nodeId;
|
|
933
937
|
conditionClassName = conditionClassNode.displayName[0];
|
|
@@ -1036,7 +1040,7 @@ function _condition_refresh_method(
|
|
|
1036
1040
|
) {
|
|
1037
1041
|
// arguments : IntegerId SubscriptionId
|
|
1038
1042
|
assert(inputArguments.length === 1);
|
|
1039
|
-
const addressSpace = context.object
|
|
1043
|
+
const addressSpace = context.object?.addressSpace as AddressSpacePrivate;
|
|
1040
1044
|
// c8 ignore next
|
|
1041
1045
|
if (doDebug) {
|
|
1042
1046
|
debugLog(chalk.red(" ConditionType.ConditionRefresh ! subscriptionId ="), inputArguments[0].toString());
|
|
@@ -1054,7 +1058,7 @@ function _condition_refresh_method(
|
|
|
1054
1058
|
});
|
|
1055
1059
|
}
|
|
1056
1060
|
|
|
1057
|
-
function _perform_condition_refresh(addressSpace: AddressSpacePrivate,
|
|
1061
|
+
function _perform_condition_refresh(addressSpace: AddressSpacePrivate, _inputArguments: VariantLike[], context: ISessionContext) {
|
|
1058
1062
|
// --- possible StatusCodes:
|
|
1059
1063
|
//
|
|
1060
1064
|
// Bad_SubscriptionIdInvalid See Part 4 for the description of this result code
|
|
@@ -1071,11 +1075,17 @@ function _perform_condition_refresh(addressSpace: AddressSpacePrivate, inputArgu
|
|
|
1071
1075
|
|
|
1072
1076
|
addressSpace._condition_refresh_in_progress = true;
|
|
1073
1077
|
|
|
1074
|
-
const server = context.object
|
|
1075
|
-
const refreshStartEventType = addressSpace.findEventType("RefreshStartEventType")
|
|
1076
|
-
|
|
1078
|
+
const server = context.object?.addressSpace.rootFolder.objects.server;
|
|
1079
|
+
const refreshStartEventType = addressSpace.findEventType("RefreshStartEventType");
|
|
1080
|
+
if (!refreshStartEventType) {
|
|
1081
|
+
throw new Error("cannot find RefreshStartEventType");
|
|
1082
|
+
}
|
|
1083
|
+
const refreshEndEventType = addressSpace.findEventType("RefreshEndEventType");
|
|
1084
|
+
if (!refreshEndEventType) {
|
|
1085
|
+
throw new Error("cannot find RefreshEndEventType");
|
|
1086
|
+
}
|
|
1077
1087
|
|
|
1078
|
-
server
|
|
1088
|
+
server?.raiseEvent(refreshStartEventType, {});
|
|
1079
1089
|
// todo : resend retained conditions
|
|
1080
1090
|
|
|
1081
1091
|
const _server = server as unknown as { _conditionRefresh: () => void };
|
|
@@ -1083,7 +1093,7 @@ function _perform_condition_refresh(addressSpace: AddressSpacePrivate, inputArgu
|
|
|
1083
1093
|
// evaluated all --> hasNotifier/hasEventSource -> node
|
|
1084
1094
|
_server._conditionRefresh();
|
|
1085
1095
|
|
|
1086
|
-
server
|
|
1096
|
+
server?.raiseEvent(refreshEndEventType, {});
|
|
1087
1097
|
|
|
1088
1098
|
addressSpace._condition_refresh_in_progress = false;
|
|
1089
1099
|
|
|
@@ -1136,13 +1146,13 @@ function _add_comment_method(
|
|
|
1136
1146
|
//
|
|
1137
1147
|
// AlwaysGeneratesEvent AuditConditionCommentEventType
|
|
1138
1148
|
//
|
|
1139
|
-
|
|
1149
|
+
UAConditionImplBase.with_condition_method(
|
|
1140
1150
|
inputArguments,
|
|
1141
1151
|
context,
|
|
1142
1152
|
callback,
|
|
1143
1153
|
(conditionEventId: ByteString, comment: LocalizedText, branch: ConditionSnapshot, conditionNode: UAConditionImpl) => {
|
|
1144
|
-
assert(inputArguments
|
|
1145
|
-
assert(conditionEventId
|
|
1154
|
+
assert(Array.isArray(inputArguments));
|
|
1155
|
+
assert(Buffer.isBuffer(conditionEventId) || conditionEventId === null);
|
|
1146
1156
|
assert(branch instanceof ConditionSnapshotImpl);
|
|
1147
1157
|
branch.setComment(comment);
|
|
1148
1158
|
|
|
@@ -1179,7 +1189,7 @@ function sameBuffer(b1: Buffer | null, b2: Buffer | null) {
|
|
|
1179
1189
|
}
|
|
1180
1190
|
assert(b1 instanceof Buffer);
|
|
1181
1191
|
assert(b2 instanceof Buffer);
|
|
1182
|
-
if (b1
|
|
1192
|
+
if (b1?.length !== b2?.length) {
|
|
1183
1193
|
return false;
|
|
1184
1194
|
}
|
|
1185
1195
|
/*
|
|
@@ -1187,9 +1197,9 @@ function sameBuffer(b1: Buffer | null, b2: Buffer | null) {
|
|
|
1187
1197
|
var bb2 = (Buffer.from(b2)).toString("hex");
|
|
1188
1198
|
return bb1 === bb2;
|
|
1189
1199
|
*/
|
|
1190
|
-
const n = b1
|
|
1200
|
+
const n = b1?.length || 0;
|
|
1191
1201
|
for (let i = 0; i < n; i++) {
|
|
1192
|
-
if (b1
|
|
1202
|
+
if (b1?.[i] !== b2?.[i]) {
|
|
1193
1203
|
return false;
|
|
1194
1204
|
}
|
|
1195
1205
|
}
|
|
@@ -1225,16 +1235,16 @@ function _install_condition_variable_type<T, DT extends DataType>(node: UACondit
|
|
|
1225
1235
|
*
|
|
1226
1236
|
*/
|
|
1227
1237
|
function _getCompositeKey(node: BaseNode, key: string): UAVariableImpl {
|
|
1228
|
-
let cur = node as
|
|
1238
|
+
let cur: Record<string, unknown> = node as unknown as Record<string, unknown>;
|
|
1229
1239
|
const elements = key.split(".");
|
|
1230
1240
|
for (const e of elements) {
|
|
1231
1241
|
// c8 ignore next
|
|
1232
|
-
if (!Object.
|
|
1233
|
-
throw new Error(
|
|
1242
|
+
if (!Object.hasOwn(cur, e)) {
|
|
1243
|
+
throw new Error(` cannot extract '${key}' from ${node.browseName.toString()}`);
|
|
1234
1244
|
}
|
|
1235
|
-
cur =
|
|
1245
|
+
cur = cur[e] as Record<string, unknown>;
|
|
1236
1246
|
}
|
|
1237
|
-
return cur as UAVariableImpl;
|
|
1247
|
+
return cur as unknown as UAVariableImpl;
|
|
1238
1248
|
}
|
|
1239
1249
|
|
|
1240
1250
|
/**
|
|
@@ -1243,7 +1253,7 @@ function _getCompositeKey(node: BaseNode, key: string): UAVariableImpl {
|
|
|
1243
1253
|
* @param context {Object}
|
|
1244
1254
|
* @private
|
|
1245
1255
|
*/
|
|
1246
|
-
function _check_subscription_id_is_valid(
|
|
1256
|
+
function _check_subscription_id_is_valid(_subscriptionId: number, _context: ISessionContext) {
|
|
1247
1257
|
/// todo: return StatusCodes.BadSubscriptionIdInvalid; if subscriptionId doesn't belong to session...
|
|
1248
1258
|
return StatusCodes.Good;
|
|
1249
1259
|
}
|