node-opcua-address-space 2.183.0 → 2.184.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/api/helpers/adjust_browse_direction.ts +1 -1
- package/api/helpers/argument_list.ts +9 -9
- package/api/helpers/coerce_enum_value.ts +1 -0
- package/api/helpers/dump_tools.ts +1 -1
- package/api/index.ts +2 -1
- package/api/interfaces/alarms_and_conditions/deviation_stuff.ts +30 -0
- package/api/interfaces/data_access/ua_multistate_discrete_ex.ts +1 -1
- package/api/interfaces/nodeset_loader_options.ts +17 -0
- package/api/loader/decode_xml_extension_object.ts +1 -1
- package/api/loader/ensure_datatype_extracted.ts +73 -37
- package/api/loader/generateAddressSpaceRaw.ts +32 -22
- package/api/loader/load_nodeset2.ts +2 -2
- package/api/loader/namespace_post_step.ts +1 -1
- package/api/loader/narrow_instance_datatypes.ts +22 -9
- package/api/loader/nodeset_image_codec.ts +26 -12
- package/api/loader/nodeset_record_applier.ts +1 -1
- package/api/loader/nodeset_xml_producer.ts +8 -6
- package/api/loader/parsers/extension_object_parser.ts +3 -3
- package/api/loader/register_node_promoter.ts +10 -2
- package/api/pseudo_session.ts +1 -1
- package/bin/{nodeset_equivalence.js → nodeset_equivalence.cjs} +1 -1
- package/bin/{opcua-nodeset-image.js → opcua-nodeset-image.cjs} +1 -1
- package/bin/{opcua-nodeset-live.js → opcua-nodeset-live.cjs} +2 -2
- package/dist/api/address_space_public.d.ts +1 -0
- package/dist/api/address_space_public.d.ts.map +1 -0
- package/dist/api/address_space_public.js +2 -5
- package/dist/api/address_space_public.js.map +1 -1
- package/dist/api/address_space_ts.d.ts +1 -0
- package/dist/api/address_space_ts.d.ts.map +1 -0
- package/dist/api/address_space_ts.js +2 -5
- package/dist/api/address_space_ts.js.map +1 -1
- package/dist/api/continuation_points/continuation_point_manager.d.ts +1 -0
- package/dist/api/continuation_points/continuation_point_manager.d.ts.map +1 -0
- package/dist/api/continuation_points/continuation_point_manager.js +13 -17
- package/dist/api/continuation_points/continuation_point_manager.js.map +1 -1
- package/dist/api/helpers/adjust_browse_direction.d.ts +1 -0
- package/dist/api/helpers/adjust_browse_direction.d.ts.map +1 -0
- package/dist/api/helpers/adjust_browse_direction.js +2 -5
- package/dist/api/helpers/adjust_browse_direction.js.map +1 -1
- package/dist/api/helpers/argument_list.d.ts +1 -0
- package/dist/api/helpers/argument_list.d.ts.map +1 -0
- package/dist/api/helpers/argument_list.js +61 -69
- package/dist/api/helpers/argument_list.js.map +1 -1
- package/dist/api/helpers/call_helpers.d.ts +1 -0
- package/dist/api/helpers/call_helpers.d.ts.map +1 -0
- package/dist/api/helpers/call_helpers.js +25 -28
- package/dist/api/helpers/call_helpers.js.map +1 -1
- package/dist/api/helpers/coerce_enum_value.d.ts +1 -0
- package/dist/api/helpers/coerce_enum_value.d.ts.map +1 -0
- package/dist/api/helpers/coerce_enum_value.js +15 -17
- package/dist/api/helpers/coerce_enum_value.js.map +1 -1
- package/dist/api/helpers/dump_tools.d.ts +1 -0
- package/dist/api/helpers/dump_tools.d.ts.map +1 -0
- package/dist/api/helpers/dump_tools.js +19 -29
- package/dist/api/helpers/dump_tools.js.map +1 -1
- package/dist/api/helpers/ensure_secure_access.d.ts +1 -0
- package/dist/api/helpers/ensure_secure_access.d.ts.map +1 -0
- package/dist/api/helpers/ensure_secure_access.js +24 -28
- package/dist/api/helpers/ensure_secure_access.js.map +1 -1
- package/dist/api/helpers/make_optionals_map.d.ts +1 -0
- package/dist/api/helpers/make_optionals_map.d.ts.map +1 -0
- package/dist/api/helpers/make_optionals_map.js +1 -4
- package/dist/api/helpers/make_optionals_map.js.map +1 -1
- package/dist/api/helpers/multiform_func.d.ts +1 -0
- package/dist/api/helpers/multiform_func.d.ts.map +1 -0
- package/dist/api/helpers/multiform_func.js +4 -8
- package/dist/api/helpers/multiform_func.js.map +1 -1
- package/dist/api/helpers/resolve_opaque_on_address_space.d.ts +1 -0
- package/dist/api/helpers/resolve_opaque_on_address_space.d.ts.map +1 -0
- package/dist/api/helpers/resolve_opaque_on_address_space.js +10 -13
- package/dist/api/helpers/resolve_opaque_on_address_space.js.map +1 -1
- package/dist/api/index.d.ts +3 -1
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +93 -218
- package/dist/api/index.js.map +1 -1
- package/dist/api/interfaces/alarms_and_conditions/condition_info_i.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/condition_info_i.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/condition_info_i.js +2 -5
- package/dist/api/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -1
- package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/condition_snapshot.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.d.ts +29 -0
- package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/deviation_stuff.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/install_setpoint_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/install_setpoint_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_condition_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/promote_to_alarm_options.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/promote_to_alarm_options.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/promote_to_alarm_options.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_base_event_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_base_event_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_base_event_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_condition_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +1 -2
- package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts.map +1 -0
- package/dist/api/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +1 -2
- package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.d.ts +2 -1
- package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.d.ts.map +1 -0
- package/dist/api/interfaces/data_access/ua_multistate_discrete_ex.js +1 -2
- package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +1 -0
- package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts.map +1 -0
- package/dist/api/interfaces/data_access/ua_multistate_value_discrete_ex.js +1 -2
- package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.d.ts +1 -0
- package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.d.ts.map +1 -0
- package/dist/api/interfaces/data_access/ua_two_state_discrete_ex.js +1 -2
- package/dist/api/interfaces/data_access/ua_y_array_item_ex.d.ts +1 -0
- package/dist/api/interfaces/data_access/ua_y_array_item_ex.d.ts.map +1 -0
- package/dist/api/interfaces/data_access/ua_y_array_item_ex.js +1 -2
- package/dist/api/interfaces/extension_object_constructor.d.ts +1 -0
- package/dist/api/interfaces/extension_object_constructor.d.ts.map +1 -0
- package/dist/api/interfaces/extension_object_constructor.js +1 -2
- package/dist/api/interfaces/i_condition_variable_type_setter_options.d.ts +1 -0
- package/dist/api/interfaces/i_condition_variable_type_setter_options.d.ts.map +1 -0
- package/dist/api/interfaces/i_condition_variable_type_setter_options.js +1 -2
- package/dist/api/interfaces/i_set_state_options.d.ts +1 -0
- package/dist/api/interfaces/i_set_state_options.d.ts.map +1 -0
- package/dist/api/interfaces/i_set_state_options.js +1 -2
- package/dist/api/interfaces/nodeset_loader_options.d.ts +18 -0
- package/dist/api/interfaces/nodeset_loader_options.d.ts.map +1 -0
- package/dist/api/interfaces/nodeset_loader_options.js +1 -2
- package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +1 -0
- package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts.map +1 -0
- package/dist/api/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +1 -2
- package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.d.ts +1 -0
- package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.d.ts.map +1 -0
- package/dist/api/interfaces/state_machine/ua_finite_state_machine_type.js +1 -2
- package/dist/api/interfaces/state_machine/ua_program_state_machine_type.d.ts +1 -0
- package/dist/api/interfaces/state_machine/ua_program_state_machine_type.d.ts.map +1 -0
- package/dist/api/interfaces/state_machine/ua_program_state_machine_type.js +1 -2
- package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +1 -0
- package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts.map +1 -0
- package/dist/api/interfaces/state_machine/ua_shelved_state_machine_ex.js +1 -2
- package/dist/api/interfaces/state_machine/ua_state_machine_type.d.ts +1 -0
- package/dist/api/interfaces/state_machine/ua_state_machine_type.d.ts.map +1 -0
- package/dist/api/interfaces/state_machine/ua_state_machine_type.js +1 -2
- package/dist/api/interfaces/state_machine/ua_state_machine_type.js.map +1 -1
- package/dist/api/interfaces/state_machine/ua_transition_ex.d.ts +1 -0
- package/dist/api/interfaces/state_machine/ua_transition_ex.d.ts.map +1 -0
- package/dist/api/interfaces/state_machine/ua_transition_ex.js +1 -2
- package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +1 -0
- package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.d.ts.map +1 -0
- package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.js +1 -2
- package/dist/api/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -1
- package/dist/api/loader/decode_xml_extension_object.d.ts +1 -0
- package/dist/api/loader/decode_xml_extension_object.d.ts.map +1 -0
- package/dist/api/loader/decode_xml_extension_object.js +13 -17
- package/dist/api/loader/decode_xml_extension_object.js.map +1 -1
- package/dist/api/loader/ensure_datatype_extracted.d.ts +1 -0
- package/dist/api/loader/ensure_datatype_extracted.d.ts.map +1 -0
- package/dist/api/loader/ensure_datatype_extracted.js +83 -52
- package/dist/api/loader/ensure_datatype_extracted.js.map +1 -1
- package/dist/api/loader/generateAddressSpaceRaw.d.ts +1 -0
- package/dist/api/loader/generateAddressSpaceRaw.d.ts.map +1 -0
- package/dist/api/loader/generateAddressSpaceRaw.js +76 -74
- package/dist/api/loader/generateAddressSpaceRaw.js.map +1 -1
- package/dist/api/loader/load_nodeset2.d.ts +1 -0
- package/dist/api/loader/load_nodeset2.d.ts.map +1 -0
- package/dist/api/loader/load_nodeset2.js +44 -51
- package/dist/api/loader/load_nodeset2.js.map +1 -1
- package/dist/api/loader/make_semver_compatible.d.ts +1 -0
- package/dist/api/loader/make_semver_compatible.d.ts.map +1 -0
- package/dist/api/loader/make_semver_compatible.js +1 -4
- package/dist/api/loader/make_semver_compatible.js.map +1 -1
- package/dist/api/loader/make_xml_extension_object_parser.d.ts +1 -0
- package/dist/api/loader/make_xml_extension_object_parser.d.ts.map +1 -0
- package/dist/api/loader/make_xml_extension_object_parser.js +37 -40
- package/dist/api/loader/make_xml_extension_object_parser.js.map +1 -1
- package/dist/api/loader/namespace_post_step.d.ts +1 -0
- package/dist/api/loader/namespace_post_step.d.ts.map +1 -0
- package/dist/api/loader/namespace_post_step.js +12 -17
- package/dist/api/loader/namespace_post_step.js.map +1 -1
- package/dist/api/loader/narrow_instance_datatypes.d.ts +1 -0
- package/dist/api/loader/narrow_instance_datatypes.d.ts.map +1 -0
- package/dist/api/loader/narrow_instance_datatypes.js +38 -28
- package/dist/api/loader/narrow_instance_datatypes.js.map +1 -1
- package/dist/api/loader/nodeset_builtin_formats.d.ts +1 -0
- package/dist/api/loader/nodeset_builtin_formats.d.ts.map +1 -0
- package/dist/api/loader/nodeset_builtin_formats.js +20 -25
- package/dist/api/loader/nodeset_builtin_formats.js.map +1 -1
- package/dist/api/loader/nodeset_format.d.ts +1 -0
- package/dist/api/loader/nodeset_format.d.ts.map +1 -0
- package/dist/api/loader/nodeset_format.js +4 -10
- package/dist/api/loader/nodeset_format.js.map +1 -1
- package/dist/api/loader/nodeset_image.d.ts +1 -0
- package/dist/api/loader/nodeset_image.d.ts.map +1 -0
- package/dist/api/loader/nodeset_image.js +38 -54
- package/dist/api/loader/nodeset_image.js.map +1 -1
- package/dist/api/loader/nodeset_image_codec.d.ts +1 -0
- package/dist/api/loader/nodeset_image_codec.d.ts.map +1 -0
- package/dist/api/loader/nodeset_image_codec.js +118 -116
- package/dist/api/loader/nodeset_image_codec.js.map +1 -1
- package/dist/api/loader/nodeset_image_store.d.ts +1 -0
- package/dist/api/loader/nodeset_image_store.d.ts.map +1 -0
- package/dist/api/loader/nodeset_image_store.js +5 -11
- package/dist/api/loader/nodeset_image_store.js.map +1 -1
- package/dist/api/loader/nodeset_record.d.ts +1 -0
- package/dist/api/loader/nodeset_record.d.ts.map +1 -0
- package/dist/api/loader/nodeset_record.js +3 -7
- package/dist/api/loader/nodeset_record.js.map +1 -1
- package/dist/api/loader/nodeset_record_applier.d.ts +1 -0
- package/dist/api/loader/nodeset_record_applier.d.ts.map +1 -0
- package/dist/api/loader/nodeset_record_applier.js +89 -97
- package/dist/api/loader/nodeset_record_applier.js.map +1 -1
- package/dist/api/loader/nodeset_records_to_xml.d.ts +1 -0
- package/dist/api/loader/nodeset_records_to_xml.d.ts.map +1 -0
- package/dist/api/loader/nodeset_records_to_xml.js +82 -88
- package/dist/api/loader/nodeset_records_to_xml.js.map +1 -1
- package/dist/api/loader/nodeset_source.d.ts +1 -0
- package/dist/api/loader/nodeset_source.d.ts.map +1 -0
- package/dist/api/loader/nodeset_source.js +14 -21
- package/dist/api/loader/nodeset_source.js.map +1 -1
- package/dist/api/loader/nodeset_source_helpers.d.ts +1 -0
- package/dist/api/loader/nodeset_source_helpers.d.ts.map +1 -0
- package/dist/api/loader/nodeset_source_helpers.js +2 -6
- package/dist/api/loader/nodeset_source_helpers.js.map +1 -1
- package/dist/api/loader/nodeset_to_image.d.ts +1 -0
- package/dist/api/loader/nodeset_to_image.d.ts.map +1 -0
- package/dist/api/loader/nodeset_to_image.js +12 -15
- package/dist/api/loader/nodeset_to_image.js.map +1 -1
- package/dist/api/loader/nodeset_xml_header.d.ts +1 -0
- package/dist/api/loader/nodeset_xml_header.d.ts.map +1 -0
- package/dist/api/loader/nodeset_xml_header.js +9 -14
- package/dist/api/loader/nodeset_xml_header.js.map +1 -1
- package/dist/api/loader/nodeset_xml_primitives.d.ts +1 -0
- package/dist/api/loader/nodeset_xml_primitives.d.ts.map +1 -0
- package/dist/api/loader/nodeset_xml_primitives.js +32 -53
- package/dist/api/loader/nodeset_xml_primitives.js.map +1 -1
- package/dist/api/loader/nodeset_xml_producer.d.ts +1 -0
- package/dist/api/loader/nodeset_xml_producer.d.ts.map +1 -0
- package/dist/api/loader/nodeset_xml_producer.js +49 -51
- package/dist/api/loader/nodeset_xml_producer.js.map +1 -1
- package/dist/api/loader/parsers/extension_object_parser.d.ts +1 -0
- package/dist/api/loader/parsers/extension_object_parser.d.ts.map +1 -0
- package/dist/api/loader/parsers/extension_object_parser.js +49 -57
- package/dist/api/loader/parsers/extension_object_parser.js.map +1 -1
- package/dist/api/loader/parsers/localized_text_parser.d.ts +1 -0
- package/dist/api/loader/parsers/localized_text_parser.d.ts.map +1 -0
- package/dist/api/loader/parsers/localized_text_parser.js +3 -6
- package/dist/api/loader/parsers/localized_text_parser.js.map +1 -1
- package/dist/api/loader/parsers/nodeid_parser.d.ts +1 -0
- package/dist/api/loader/parsers/nodeid_parser.d.ts.map +1 -0
- package/dist/api/loader/parsers/nodeid_parser.js +3 -7
- package/dist/api/loader/parsers/nodeid_parser.js.map +1 -1
- package/dist/api/loader/parsers/qualified_name_parser.d.ts +1 -0
- package/dist/api/loader/parsers/qualified_name_parser.d.ts.map +1 -0
- package/dist/api/loader/parsers/qualified_name_parser.js +5 -9
- package/dist/api/loader/parsers/qualified_name_parser.js.map +1 -1
- package/dist/api/loader/parsers/variant_parser.d.ts +1 -0
- package/dist/api/loader/parsers/variant_parser.d.ts.map +1 -0
- package/dist/api/loader/parsers/variant_parser.js +59 -63
- package/dist/api/loader/parsers/variant_parser.js.map +1 -1
- package/dist/api/loader/register_node_promoter.d.ts +10 -1
- package/dist/api/loader/register_node_promoter.d.ts.map +1 -0
- package/dist/api/loader/register_node_promoter.js +11 -7
- package/dist/api/loader/register_node_promoter.js.map +1 -1
- package/dist/api/namespace.d.ts +1 -0
- package/dist/api/namespace.d.ts.map +1 -0
- package/dist/api/namespace.js +1 -2
- package/dist/api/namespace_alarm_and_condition.d.ts +1 -0
- package/dist/api/namespace_alarm_and_condition.d.ts.map +1 -0
- package/dist/api/namespace_alarm_and_condition.js +1 -2
- package/dist/api/namespace_data_access.d.ts +1 -0
- package/dist/api/namespace_data_access.d.ts.map +1 -0
- package/dist/api/namespace_data_access.js +1 -2
- package/dist/api/namespace_machine_state.d.ts +1 -0
- package/dist/api/namespace_machine_state.d.ts.map +1 -0
- package/dist/api/namespace_machine_state.js +1 -2
- package/dist/api/namespace_of.d.ts +1 -0
- package/dist/api/namespace_of.d.ts.map +1 -0
- package/dist/api/namespace_of.js +1 -4
- package/dist/api/namespace_of.js.map +1 -1
- package/dist/api/pseudo_session.d.ts +1 -0
- package/dist/api/pseudo_session.d.ts.map +1 -0
- package/dist/api/pseudo_session.js +56 -62
- package/dist/api/pseudo_session.js.map +1 -1
- package/dist/api/session_context.d.ts +1 -0
- package/dist/api/session_context.d.ts.map +1 -0
- package/dist/api/session_context.js +60 -68
- package/dist/api/session_context.js.map +1 -1
- package/dist/api/set_namespace_meta_data.d.ts +1 -0
- package/dist/api/set_namespace_meta_data.d.ts.map +1 -0
- package/dist/api/set_namespace_meta_data.js +10 -13
- package/dist/api/set_namespace_meta_data.js.map +1 -1
- package/dist/api/ua_addin.d.ts +1 -0
- package/dist/api/ua_addin.d.ts.map +1 -0
- package/dist/api/ua_addin.js +9 -13
- package/dist/api/ua_addin.js.map +1 -1
- package/dist/api/ua_interface.d.ts +1 -0
- package/dist/api/ua_interface.d.ts.map +1 -0
- package/dist/api/ua_interface.js +5 -8
- package/dist/api/ua_interface.js.map +1 -1
- package/dist/api/ua_root_folder.d.ts +1 -0
- package/dist/api/ua_root_folder.d.ts.map +1 -0
- package/dist/api/ua_root_folder.js +1 -2
- package/dist/api/ua_two_state_variable_ex.d.ts +1 -0
- package/dist/api/ua_two_state_variable_ex.d.ts.map +1 -0
- package/dist/api/ua_two_state_variable_ex.js +1 -2
- package/dist/api/xml_writer.d.ts +1 -0
- package/dist/api/xml_writer.d.ts.map +1 -0
- package/dist/api/xml_writer.js +1 -2
- package/dist/impl/_instantiate_helpers.d.ts +1 -0
- package/dist/impl/_instantiate_helpers.d.ts.map +1 -0
- package/dist/impl/_instantiate_helpers.js +25 -31
- package/dist/impl/_instantiate_helpers.js.map +1 -1
- package/dist/impl/_mandatory_child_or_requested_optional_filter.d.ts +1 -0
- package/dist/impl/_mandatory_child_or_requested_optional_filter.d.ts.map +1 -0
- package/dist/impl/_mandatory_child_or_requested_optional_filter.js +16 -20
- package/dist/impl/_mandatory_child_or_requested_optional_filter.js.map +1 -1
- package/dist/impl/address_space.d.ts +40 -0
- package/dist/impl/address_space.d.ts.map +1 -0
- package/dist/impl/address_space.js +246 -189
- package/dist/impl/address_space.js.map +1 -1
- package/dist/impl/address_space_change_event_tools.d.ts +1 -0
- package/dist/impl/address_space_change_event_tools.d.ts.map +1 -0
- package/dist/impl/address_space_change_event_tools.js +31 -29
- package/dist/impl/address_space_change_event_tools.js.map +1 -1
- package/dist/impl/address_space_private.d.ts +2 -0
- package/dist/impl/address_space_private.d.ts.map +1 -0
- package/dist/impl/address_space_private.js +1 -2
- package/dist/impl/address_space_private.js.map +1 -1
- package/dist/impl/alarms_and_conditions/condition.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/condition.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/condition.js +1 -2
- package/dist/impl/alarms_and_conditions/condition.js.map +1 -1
- package/dist/impl/alarms_and_conditions/condition_info_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/condition_info_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/condition_info_impl.js +3 -7
- package/dist/impl/alarms_and_conditions/condition_info_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/condition_snapshot_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/condition_snapshot_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js +77 -81
- package/dist/impl/alarms_and_conditions/condition_snapshot_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/deviation_alarm_helper.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/deviation_alarm_helper.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js +17 -20
- package/dist/impl/alarms_and_conditions/deviation_alarm_helper.js.map +1 -1
- package/dist/impl/alarms_and_conditions/index.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/index.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/index.js +13 -29
- package/dist/impl/alarms_and_conditions/index.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +60 -65
- package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js +53 -59
- package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_base_event_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_base_event_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_base_event_impl.js +12 -16
- package/dist/impl/alarms_and_conditions/ua_base_event_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +34 -39
- package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_condition_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_condition_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_condition_impl.js +140 -148
- package/dist/impl/alarms_and_conditions/ua_condition_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js +6 -10
- package/dist/impl/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +9 -0
- package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +28 -22
- package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +3 -7
- package/dist/impl/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +14 -18
- package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +2 -6
- package/dist/impl/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js +35 -39
- package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +9 -0
- package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +27 -21
- package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +27 -31
- package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js +18 -22
- package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +1 -0
- package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts.map +1 -0
- package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +3 -7
- package/dist/impl/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
- package/dist/impl/apply_condition_refresh.d.ts +1 -0
- package/dist/impl/apply_condition_refresh.d.ts.map +1 -0
- package/dist/impl/apply_condition_refresh.js +1 -4
- package/dist/impl/apply_condition_refresh.js.map +1 -1
- package/dist/impl/base_node_impl.d.ts +1 -0
- package/dist/impl/base_node_impl.d.ts.map +1 -0
- package/dist/impl/base_node_impl.js +279 -292
- package/dist/impl/base_node_impl.js.map +1 -1
- package/dist/impl/base_node_private.d.ts +1 -0
- package/dist/impl/base_node_private.d.ts.map +1 -0
- package/dist/impl/base_node_private.js +168 -199
- package/dist/impl/base_node_private.js.map +1 -1
- package/dist/impl/bulk_load_clock.d.ts +35 -0
- package/dist/impl/bulk_load_clock.d.ts.map +1 -0
- package/dist/impl/bulk_load_clock.js +58 -0
- package/dist/impl/bulk_load_clock.js.map +1 -0
- package/dist/impl/check_value_rank_compatibility.d.ts +1 -0
- package/dist/impl/check_value_rank_compatibility.d.ts.map +1 -0
- package/dist/impl/check_value_rank_compatibility.js +1 -4
- package/dist/impl/check_value_rank_compatibility.js.map +1 -1
- package/dist/impl/child_accessors.d.ts +1 -0
- package/dist/impl/child_accessors.d.ts.map +1 -0
- package/dist/impl/child_accessors.js +10 -20
- package/dist/impl/child_accessors.js.map +1 -1
- package/dist/impl/data_access/add_dataItem_stuff.d.ts +1 -0
- package/dist/impl/data_access/add_dataItem_stuff.d.ts.map +1 -0
- package/dist/impl/data_access/add_dataItem_stuff.js +6 -9
- package/dist/impl/data_access/add_dataItem_stuff.js.map +1 -1
- package/dist/impl/data_access/adjust_datavalue_status_code.d.ts +1 -0
- package/dist/impl/data_access/adjust_datavalue_status_code.d.ts.map +1 -0
- package/dist/impl/data_access/adjust_datavalue_status_code.js +9 -12
- package/dist/impl/data_access/adjust_datavalue_status_code.js.map +1 -1
- package/dist/impl/data_access/semantics_changed.d.ts +12 -0
- package/dist/impl/data_access/semantics_changed.d.ts.map +1 -0
- package/dist/impl/data_access/semantics_changed.js +44 -10
- package/dist/impl/data_access/semantics_changed.js.map +1 -1
- package/dist/impl/data_access/ua_multistate_discrete_impl.d.ts +2 -1
- package/dist/impl/data_access/ua_multistate_discrete_impl.d.ts.map +1 -0
- package/dist/impl/data_access/ua_multistate_discrete_impl.js +35 -41
- package/dist/impl/data_access/ua_multistate_discrete_impl.js.map +1 -1
- package/dist/impl/data_access/ua_multistate_value_discrete_impl.d.ts +1 -0
- package/dist/impl/data_access/ua_multistate_value_discrete_impl.d.ts.map +1 -0
- package/dist/impl/data_access/ua_multistate_value_discrete_impl.js +71 -78
- package/dist/impl/data_access/ua_multistate_value_discrete_impl.js.map +1 -1
- package/dist/impl/data_access/ua_two_state_discrete_impl.d.ts +1 -0
- package/dist/impl/data_access/ua_two_state_discrete_impl.d.ts.map +1 -0
- package/dist/impl/data_access/ua_two_state_discrete_impl.js +27 -36
- package/dist/impl/data_access/ua_two_state_discrete_impl.js.map +1 -1
- package/dist/impl/event_data.d.ts +1 -0
- package/dist/impl/event_data.d.ts.map +1 -0
- package/dist/impl/event_data.js +15 -19
- package/dist/impl/event_data.js.map +1 -1
- package/dist/impl/event_layout.d.ts +1 -0
- package/dist/impl/event_layout.d.ts.map +1 -0
- package/dist/impl/event_layout.js +12 -16
- package/dist/impl/event_layout.js.map +1 -1
- package/dist/impl/extension_object_array_node.d.ts +1 -0
- package/dist/impl/extension_object_array_node.d.ts.map +1 -0
- package/dist/impl/extension_object_array_node.js +47 -53
- package/dist/impl/extension_object_array_node.js.map +1 -1
- package/dist/impl/get_basic_datatype.d.ts +1 -0
- package/dist/impl/get_basic_datatype.d.ts.map +1 -0
- package/dist/impl/get_basic_datatype.js +6 -10
- package/dist/impl/get_basic_datatype.js.map +1 -1
- package/dist/impl/handle_hierarchy_parent.d.ts +1 -0
- package/dist/impl/handle_hierarchy_parent.d.ts.map +1 -0
- package/dist/impl/handle_hierarchy_parent.js +26 -30
- package/dist/impl/handle_hierarchy_parent.js.map +1 -1
- package/dist/impl/historical_access/address_space_historical_data_node.d.ts +1 -0
- package/dist/impl/historical_access/address_space_historical_data_node.d.ts.map +1 -0
- package/dist/impl/historical_access/address_space_historical_data_node.js +76 -84
- package/dist/impl/historical_access/address_space_historical_data_node.js.map +1 -1
- package/dist/impl/historical_access/read_processed_details_hook.d.ts +1 -0
- package/dist/impl/historical_access/read_processed_details_hook.d.ts.map +1 -0
- package/dist/impl/historical_access/read_processed_details_hook.js +1 -4
- package/dist/impl/historical_access/read_processed_details_hook.js.map +1 -1
- package/dist/impl/historizer_factory.d.ts +1 -0
- package/dist/impl/historizer_factory.d.ts.map +1 -0
- package/dist/impl/historizer_factory.js +1 -4
- package/dist/impl/historizer_factory.js.map +1 -1
- package/dist/impl/idx_iterator.d.ts +1 -0
- package/dist/impl/idx_iterator.d.ts.map +1 -0
- package/dist/impl/idx_iterator.js +1 -5
- package/dist/impl/idx_iterator.js.map +1 -1
- package/dist/impl/namespace_impl.d.ts +32 -0
- package/dist/impl/namespace_impl.d.ts.map +1 -0
- package/dist/impl/namespace_impl.js +418 -318
- package/dist/impl/namespace_impl.js.map +1 -1
- package/dist/impl/namespace_private.d.ts +3 -0
- package/dist/impl/namespace_private.d.ts.map +1 -0
- package/dist/impl/namespace_private.js +3 -6
- package/dist/impl/namespace_private.js.map +1 -1
- package/dist/impl/nodeid_manager.d.ts +16 -0
- package/dist/impl/nodeid_manager.d.ts.map +1 -0
- package/dist/impl/nodeid_manager.js +70 -46
- package/dist/impl/nodeid_manager.js.map +1 -1
- package/dist/impl/nodeset_tools/adjust_namespace_array.d.ts +1 -0
- package/dist/impl/nodeset_tools/adjust_namespace_array.d.ts.map +1 -0
- package/dist/impl/nodeset_tools/adjust_namespace_array.js +1 -4
- package/dist/impl/nodeset_tools/adjust_namespace_array.js.map +1 -1
- package/dist/impl/nodeset_tools/construct_namespace_dependency.d.ts +1 -0
- package/dist/impl/nodeset_tools/construct_namespace_dependency.d.ts.map +1 -0
- package/dist/impl/nodeset_tools/construct_namespace_dependency.js +28 -39
- package/dist/impl/nodeset_tools/construct_namespace_dependency.js.map +1 -1
- package/dist/impl/nodeset_tools/dump_to_bsd.d.ts +1 -0
- package/dist/impl/nodeset_tools/dump_to_bsd.d.ts.map +1 -0
- package/dist/impl/nodeset_tools/dump_to_bsd.js +14 -20
- package/dist/impl/nodeset_tools/dump_to_bsd.js.map +1 -1
- package/dist/impl/nodeset_tools/nodeset_to_records.d.ts +1 -0
- package/dist/impl/nodeset_tools/nodeset_to_records.d.ts.map +1 -0
- package/dist/impl/nodeset_tools/nodeset_to_records.js +125 -139
- package/dist/impl/nodeset_tools/nodeset_to_records.js.map +1 -1
- package/dist/impl/nodeset_tools/nodeset_to_xml.d.ts +1 -0
- package/dist/impl/nodeset_tools/nodeset_to_xml.d.ts.map +1 -0
- package/dist/impl/nodeset_tools/nodeset_to_xml.js +190 -202
- package/dist/impl/nodeset_tools/nodeset_to_xml.js.map +1 -1
- package/dist/impl/private_namespace.d.ts +1 -0
- package/dist/impl/private_namespace.d.ts.map +1 -0
- package/dist/impl/private_namespace.js +3 -8
- package/dist/impl/private_namespace.js.map +1 -1
- package/dist/impl/reference_impl.d.ts +1 -0
- package/dist/impl/reference_impl.d.ts.map +1 -0
- package/dist/impl/reference_impl.js +24 -37
- package/dist/impl/reference_impl.js.map +1 -1
- package/dist/impl/reference_type_version.d.ts +1 -0
- package/dist/impl/reference_type_version.d.ts.map +1 -0
- package/dist/impl/reference_type_version.js +2 -5
- package/dist/impl/reference_type_version.js.map +1 -1
- package/dist/impl/role_permissions.d.ts +1 -0
- package/dist/impl/role_permissions.d.ts.map +1 -0
- package/dist/impl/role_permissions.js +3 -6
- package/dist/impl/role_permissions.js.map +1 -1
- package/dist/impl/state_machine/finite_state_machine.d.ts +1 -0
- package/dist/impl/state_machine/finite_state_machine.d.ts.map +1 -0
- package/dist/impl/state_machine/finite_state_machine.js +123 -97
- package/dist/impl/state_machine/finite_state_machine.js.map +1 -1
- package/dist/impl/state_machine/ua_shelving_state_machine_ex.d.ts +1 -0
- package/dist/impl/state_machine/ua_shelving_state_machine_ex.d.ts.map +1 -0
- package/dist/impl/state_machine/ua_shelving_state_machine_ex.js +57 -62
- package/dist/impl/state_machine/ua_shelving_state_machine_ex.js.map +1 -1
- package/dist/impl/state_machine/ua_two_state_variable.d.ts +1 -0
- package/dist/impl/state_machine/ua_two_state_variable.d.ts.map +1 -0
- package/dist/impl/state_machine/ua_two_state_variable.js +56 -63
- package/dist/impl/state_machine/ua_two_state_variable.js.map +1 -1
- package/dist/impl/tool_isSubtypeOf.d.ts +1 -0
- package/dist/impl/tool_isSubtypeOf.d.ts.map +1 -0
- package/dist/impl/tool_isSubtypeOf.js +27 -34
- package/dist/impl/tool_isSubtypeOf.js.map +1 -1
- package/dist/impl/ua_condition_type.d.ts +1 -0
- package/dist/impl/ua_condition_type.d.ts.map +1 -0
- package/dist/impl/ua_condition_type.js +1 -2
- package/dist/impl/ua_data_type_impl.d.ts +1 -0
- package/dist/impl/ua_data_type_impl.d.ts.map +1 -0
- package/dist/impl/ua_data_type_impl.js +99 -83
- package/dist/impl/ua_data_type_impl.js.map +1 -1
- package/dist/impl/ua_method_impl.d.ts +3 -2
- package/dist/impl/ua_method_impl.d.ts.map +1 -0
- package/dist/impl/ua_method_impl.js +74 -78
- package/dist/impl/ua_method_impl.js.map +1 -1
- package/dist/impl/ua_object_impl.d.ts +1 -0
- package/dist/impl/ua_object_impl.d.ts.map +1 -0
- package/dist/impl/ua_object_impl.js +48 -51
- package/dist/impl/ua_object_impl.js.map +1 -1
- package/dist/impl/ua_object_type_impl.d.ts +1 -0
- package/dist/impl/ua_object_type_impl.d.ts.map +1 -0
- package/dist/impl/ua_object_type_impl.js +36 -39
- package/dist/impl/ua_object_type_impl.js.map +1 -1
- package/dist/impl/ua_reference_type_impl.d.ts +2 -1
- package/dist/impl/ua_reference_type_impl.d.ts.map +1 -0
- package/dist/impl/ua_reference_type_impl.js +41 -45
- package/dist/impl/ua_reference_type_impl.js.map +1 -1
- package/dist/impl/ua_variable_impl.d.ts +1 -0
- package/dist/impl/ua_variable_impl.d.ts.map +1 -0
- package/dist/impl/ua_variable_impl.js +373 -376
- package/dist/impl/ua_variable_impl.js.map +1 -1
- package/dist/impl/ua_variable_impl_ext_obj.d.ts +1 -0
- package/dist/impl/ua_variable_impl_ext_obj.d.ts.map +1 -0
- package/dist/impl/ua_variable_impl_ext_obj.js +79 -97
- package/dist/impl/ua_variable_impl_ext_obj.js.map +1 -1
- package/dist/impl/ua_variable_type_impl.d.ts +1 -0
- package/dist/impl/ua_variable_type_impl.d.ts.map +1 -0
- package/dist/impl/ua_variable_type_impl.js +78 -84
- package/dist/impl/ua_variable_type_impl.js.map +1 -1
- package/dist/impl/ua_view_impl.d.ts +1 -0
- package/dist/impl/ua_view_impl.d.ts.map +1 -0
- package/dist/impl/ua_view_impl.js +18 -22
- package/dist/impl/ua_view_impl.js.map +1 -1
- package/dist/impl/validate_data_type_correctness.d.ts +1 -0
- package/dist/impl/validate_data_type_correctness.d.ts.map +1 -0
- package/dist/impl/validate_data_type_correctness.js +24 -30
- package/dist/impl/validate_data_type_correctness.js.map +1 -1
- package/dist/tsconfig_base.tsbuildinfo +1 -1
- package/distHelpers/add_event_generator_object.d.ts +1 -0
- package/distHelpers/add_event_generator_object.d.ts.map +1 -0
- package/distHelpers/add_event_generator_object.js +8 -11
- package/distHelpers/add_event_generator_object.js.map +1 -1
- package/distHelpers/address_space_digest.d.ts +1 -0
- package/distHelpers/address_space_digest.d.ts.map +1 -0
- package/distHelpers/address_space_digest.js +1 -5
- package/distHelpers/address_space_digest.js.map +1 -1
- package/distHelpers/alarms_and_conditions_demo.d.ts +1 -0
- package/distHelpers/alarms_and_conditions_demo.d.ts.map +1 -0
- package/distHelpers/alarms_and_conditions_demo.js +8 -11
- package/distHelpers/alarms_and_conditions_demo.js.map +1 -1
- package/distHelpers/assertHasMatchingReference.d.ts +1 -0
- package/distHelpers/assertHasMatchingReference.d.ts.map +1 -0
- package/distHelpers/assertHasMatchingReference.js +6 -9
- package/distHelpers/assertHasMatchingReference.js.map +1 -1
- package/distHelpers/boiler_system.d.ts +1 -0
- package/distHelpers/boiler_system.d.ts.map +1 -0
- package/distHelpers/boiler_system.js +36 -40
- package/distHelpers/boiler_system.js.map +1 -1
- package/distHelpers/create_minimalist_address_space_nodeset.d.ts +1 -0
- package/distHelpers/create_minimalist_address_space_nodeset.d.ts.map +1 -0
- package/distHelpers/create_minimalist_address_space_nodeset.js +29 -35
- package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -1
- package/distHelpers/date_utils.d.ts +1 -0
- package/distHelpers/date_utils.d.ts.map +1 -0
- package/distHelpers/date_utils.js +1 -4
- package/distHelpers/date_utils.js.map +1 -1
- package/distHelpers/dump_statemachine.d.ts +1 -0
- package/distHelpers/dump_statemachine.d.ts.map +1 -0
- package/distHelpers/dump_statemachine.js +1 -2
- package/distHelpers/dump_statemachine.js.map +1 -1
- package/distHelpers/get_address_space_fixture.d.ts +1 -0
- package/distHelpers/get_address_space_fixture.d.ts.map +1 -0
- package/distHelpers/get_address_space_fixture.js +12 -18
- package/distHelpers/get_address_space_fixture.js.map +1 -1
- package/distHelpers/get_mini_address_space.d.ts +1 -0
- package/distHelpers/get_mini_address_space.d.ts.map +1 -0
- package/distHelpers/get_mini_address_space.js +12 -18
- package/distHelpers/get_mini_address_space.js.map +1 -1
- package/distHelpers/index.d.ts +1 -0
- package/distHelpers/index.d.ts.map +1 -0
- package/distHelpers/index.js +10 -26
- package/distHelpers/index.js.map +1 -1
- package/distHelpers/mock_session.d.ts +1 -0
- package/distHelpers/mock_session.d.ts.map +1 -0
- package/distHelpers/mock_session.js +11 -16
- package/distHelpers/mock_session.js.map +1 -1
- package/distNodeJS/address_space_digest.d.ts +1 -0
- package/distNodeJS/address_space_digest.d.ts.map +1 -0
- package/distNodeJS/address_space_digest.js +3 -6
- package/distNodeJS/address_space_digest.js.map +1 -1
- package/distNodeJS/generate_address_space.d.ts +1 -0
- package/distNodeJS/generate_address_space.d.ts.map +1 -0
- package/distNodeJS/generate_address_space.js +67 -97
- package/distNodeJS/generate_address_space.js.map +1 -1
- package/distNodeJS/index.d.ts +1 -0
- package/distNodeJS/index.d.ts.map +1 -0
- package/distNodeJS/index.js +3 -19
- package/distNodeJS/index.js.map +1 -1
- package/distNodeJS/nodeset_image_file_store.d.ts +1 -0
- package/distNodeJS/nodeset_image_file_store.d.ts.map +1 -0
- package/distNodeJS/nodeset_image_file_store.js +20 -28
- package/distNodeJS/nodeset_image_file_store.js.map +1 -1
- package/impl/_mandatory_child_or_requested_optional_filter.ts +3 -3
- package/impl/address_space.ts +75 -6
- package/impl/address_space_change_event_tools.ts +7 -0
- package/impl/address_space_private.ts +1 -0
- package/impl/alarms_and_conditions/condition_snapshot_impl.ts +1 -1
- package/impl/alarms_and_conditions/deviation_alarm_helper.ts +3 -0
- package/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +1 -1
- package/impl/alarms_and_conditions/ua_alarm_condition_impl.ts +1 -1
- package/impl/alarms_and_conditions/ua_condition_impl.ts +1 -1
- package/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +12 -1
- package/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +12 -1
- package/impl/bulk_load_clock.ts +65 -0
- package/impl/data_access/semantics_changed.ts +39 -1
- package/impl/data_access/ua_multistate_discrete_impl.ts +1 -1
- package/impl/extension_object_array_node.ts +5 -5
- package/impl/historical_access/address_space_historical_data_node.ts +2 -2
- package/impl/namespace_impl.ts +119 -2
- package/impl/namespace_private.ts +3 -0
- package/impl/nodeid_manager.ts +40 -5
- package/impl/nodeset_tools/construct_namespace_dependency.ts +4 -4
- package/impl/nodeset_tools/dump_to_bsd.ts +1 -1
- package/impl/nodeset_tools/nodeset_to_xml.ts +1 -1
- package/impl/state_machine/finite_state_machine.ts +56 -10
- package/impl/state_machine/ua_shelving_state_machine_ex.ts +1 -1
- package/impl/state_machine/ua_two_state_variable.ts +1 -1
- package/impl/tool_isSubtypeOf.ts +1 -1
- package/impl/ua_data_type_impl.ts +26 -5
- package/impl/ua_method_impl.ts +10 -6
- package/impl/ua_object_impl.ts +6 -2
- package/impl/ua_object_type_impl.ts +1 -0
- package/impl/ua_variable_impl.ts +15 -8
- package/impl/ua_variable_type_impl.ts +4 -3
- package/nodeJS.d.ts +1 -1
- package/nodeJS.js +1 -1
- package/package.json +42 -41
- package/source_nodejs/generate_address_space.ts +31 -14
- package/testHelpers.d.ts +1 -1
- package/testHelpers.js +1 -1
- /package/bin/{nodeset_tool_common.js → nodeset_tool_common.cjs} +0 -0
package/impl/address_space.ts
CHANGED
|
@@ -194,6 +194,20 @@ export class AddressSpaceImpl implements AddressSpacePrivate {
|
|
|
194
194
|
public suspendBackReference = false;
|
|
195
195
|
public isFrugal = false;
|
|
196
196
|
|
|
197
|
+
/**
|
|
198
|
+
* Stop collecting GeneralModelChangeEventType material.
|
|
199
|
+
*
|
|
200
|
+
* Every node added, deleted or re-referenced pays a probe - an inverse reference scan and a
|
|
201
|
+
* `getNodeVersion` per hierarchical parent - before the bookkeeping can conclude that no node
|
|
202
|
+
* involved carries a NodeVersion and there is nothing to report. A loader, a compiler or a
|
|
203
|
+
* test fixture has no subscriber for those events, so the probe is pure cost.
|
|
204
|
+
*
|
|
205
|
+
* Defaults to `false`, which is the behaviour every existing caller has. While it is `true`
|
|
206
|
+
* no ModelChangeStructure is collected and no NodeVersion is bumped, so set it only when
|
|
207
|
+
* nothing is listening - typically around a bulk load or a bulk delete.
|
|
208
|
+
*/
|
|
209
|
+
public suspendModelChangeEvents = false;
|
|
210
|
+
|
|
197
211
|
public registerChildAccessorNames(browseNames: string[]): void {
|
|
198
212
|
defineSharedChildAccessors(browseNames);
|
|
199
213
|
}
|
|
@@ -216,6 +230,8 @@ export class AddressSpaceImpl implements AddressSpacePrivate {
|
|
|
216
230
|
public readonly isNodeIdString = isNodeIdString;
|
|
217
231
|
private readonly _private_namespaceIndex: number;
|
|
218
232
|
private readonly _namespaceArray: NamespacePrivate[];
|
|
233
|
+
/** uri -> index into `_namespaceArray`; registering and resolving a uri were linear scans */
|
|
234
|
+
private readonly _namespaceIndexByUri = new Map<string, number>();
|
|
219
235
|
private _shutdownTask?: ShutdownTask[];
|
|
220
236
|
private _eventIdCounter?: Buffer;
|
|
221
237
|
public $$extraDataTypeManager?: ExtraDataTypeManager;
|
|
@@ -301,7 +317,8 @@ export class AddressSpaceImpl implements AddressSpacePrivate {
|
|
|
301
317
|
*/
|
|
302
318
|
public getNamespaceIndex(namespaceUri: string): number {
|
|
303
319
|
assert(typeof namespaceUri === "string");
|
|
304
|
-
|
|
320
|
+
const index = this._namespaceIndexByUri.get(namespaceUri);
|
|
321
|
+
return index === undefined ? -1 : index;
|
|
305
322
|
}
|
|
306
323
|
|
|
307
324
|
/**
|
|
@@ -314,12 +331,12 @@ export class AddressSpaceImpl implements AddressSpacePrivate {
|
|
|
314
331
|
* @returns {Namespace}
|
|
315
332
|
*/
|
|
316
333
|
public registerNamespace(namespaceUri: string): NamespacePrivate {
|
|
317
|
-
|
|
318
|
-
if (
|
|
319
|
-
assert(this._namespaceArray[
|
|
320
|
-
return this._namespaceArray[
|
|
334
|
+
const existing = this._namespaceIndexByUri.get(namespaceUri);
|
|
335
|
+
if (existing !== undefined) {
|
|
336
|
+
assert(this._namespaceArray[existing].addressSpace === this);
|
|
337
|
+
return this._namespaceArray[existing];
|
|
321
338
|
}
|
|
322
|
-
index = this._namespaceArray.length;
|
|
339
|
+
const index = this._namespaceArray.length;
|
|
323
340
|
this._namespaceArray.push(
|
|
324
341
|
new NamespaceImpl({
|
|
325
342
|
addressSpace: this,
|
|
@@ -329,9 +346,61 @@ export class AddressSpaceImpl implements AddressSpacePrivate {
|
|
|
329
346
|
version: "undefined"
|
|
330
347
|
})
|
|
331
348
|
);
|
|
349
|
+
this._namespaceIndexByUri.set(namespaceUri, index);
|
|
332
350
|
return this._namespaceArray[index];
|
|
333
351
|
}
|
|
334
352
|
|
|
353
|
+
/**
|
|
354
|
+
* Empty a namespace, leaving the rest of the address space as it was before that namespace
|
|
355
|
+
* was ever populated, and the namespace itself registered under the same index and uri and
|
|
356
|
+
* ready to be populated again.
|
|
357
|
+
*
|
|
358
|
+
* This is the recycle that lets a compiler keep its loaded base nodesets across an edit:
|
|
359
|
+
* rebuilding the model's own namespace costs a fraction of rebuilding the whole address
|
|
360
|
+
* space. Everything goes in one model-change transaction, and only the references that cross
|
|
361
|
+
* the namespace boundary are severed - the ones inside it die with their nodes.
|
|
362
|
+
*
|
|
363
|
+
* It lives here rather than on Namespace because most of what it touches is not the
|
|
364
|
+
* namespace's: references held by nodes of other namespaces, the DataType factory this
|
|
365
|
+
* namespace registered with the address space's DataType manager, the address space's set of
|
|
366
|
+
* historizing nodes.
|
|
367
|
+
*
|
|
368
|
+
* Namespace 0 cannot be deleted: it is the standard namespace every other node resolves
|
|
369
|
+
* against.
|
|
370
|
+
*
|
|
371
|
+
* A structure DataType of the namespace also registered an ExtensionObject constructor with
|
|
372
|
+
* the address space's DataType manager; the factory holding those is dropped here, so that
|
|
373
|
+
* a later `ensureDatatypeExtracted` builds a fresh one for the repopulated namespace rather
|
|
374
|
+
* than colliding with the leftovers of the previous one.
|
|
375
|
+
*/
|
|
376
|
+
public deleteNamespace(namespaceIndexOrUri: number | string): void {
|
|
377
|
+
const namespace = this.getNamespace(namespaceIndexOrUri);
|
|
378
|
+
/* c8 ignore next */
|
|
379
|
+
if (!namespace) {
|
|
380
|
+
throw new Error(`deleteNamespace: no namespace ${namespaceIndexOrUri.toString()} in this address space`);
|
|
381
|
+
}
|
|
382
|
+
const index = namespace.index;
|
|
383
|
+
if (index === 0) {
|
|
384
|
+
throw new Error("deleteNamespace: the standard namespace (index 0) cannot be deleted");
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
this.modelChangeTransaction(() => {
|
|
388
|
+
namespace._deleteAllNodes();
|
|
389
|
+
});
|
|
390
|
+
|
|
391
|
+
// a historized variable of the namespace is gone; the address space must stop listing it
|
|
392
|
+
if (this.historizingNodes.size) {
|
|
393
|
+
for (const node of [...this.historizingNodes]) {
|
|
394
|
+
if (node.nodeId.namespace === index) {
|
|
395
|
+
this.historizingNodes.delete(node);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
// the structures and enumerations this namespace registered go with their factory
|
|
401
|
+
this.$$extraDataTypeManager?.unregisterDataTypeFactory(index);
|
|
402
|
+
}
|
|
403
|
+
|
|
335
404
|
/***
|
|
336
405
|
* @return {Namespace[]} the namespace array
|
|
337
406
|
*/
|
|
@@ -47,6 +47,7 @@ function _getTypeDef(node: BaseNode) {
|
|
|
47
47
|
}
|
|
48
48
|
export function _handle_add_reference_change_event(node1: BaseNode, node2id: NodeId): void {
|
|
49
49
|
const addressSpace = node1.addressSpace as AddressSpacePrivate;
|
|
50
|
+
if (addressSpace.suspendModelChangeEvents) return;
|
|
50
51
|
const node2 = addressSpace.findNode(node2id);
|
|
51
52
|
if (!node2) return;
|
|
52
53
|
|
|
@@ -98,6 +99,7 @@ try {
|
|
|
98
99
|
|
|
99
100
|
export function _handle_model_change_event(node: BaseNodeImpl): void {
|
|
100
101
|
const addressSpace = node.addressSpace as AddressSpacePrivate;
|
|
102
|
+
if (addressSpace.suspendModelChangeEvents) return;
|
|
101
103
|
//
|
|
102
104
|
const parents = node.parent ? [node.parent] : [];
|
|
103
105
|
|
|
@@ -143,6 +145,11 @@ export function _handle_model_change_event(node: BaseNodeImpl): void {
|
|
|
143
145
|
|
|
144
146
|
export function _handle_delete_node_model_change_event(node: BaseNode): void {
|
|
145
147
|
const addressSpace = node.addressSpace as AddressSpacePrivate;
|
|
148
|
+
// The probe below - an inverse reference scan, then a findNode and a getNodeVersion per
|
|
149
|
+
// parent - runs on every node deleted, only to conclude that nothing has a NodeVersion and
|
|
150
|
+
// there is nothing to record. A loader or a compiler has no GeneralModelChangeEventType
|
|
151
|
+
// subscriber at all, and says so by setting this; see AddressSpace#suspendModelChangeEvents.
|
|
152
|
+
if (addressSpace.suspendModelChangeEvents) return;
|
|
146
153
|
|
|
147
154
|
// get backward references
|
|
148
155
|
const references = node.findReferencesEx("HierarchicalReferences", BrowseDirection.Inverse);
|
|
@@ -95,7 +95,7 @@ export class ConditionSnapshotImpl extends EventEmitter implements ConditionSnap
|
|
|
95
95
|
for (const fullBrowsePath of this._map.keys()) {
|
|
96
96
|
const node = this._node_index.get(fullBrowsePath);
|
|
97
97
|
if (!node) {
|
|
98
|
-
|
|
98
|
+
/* c8 ignore next */
|
|
99
99
|
doDebug && debugLog("cannot node for find key", fullBrowsePath);
|
|
100
100
|
continue;
|
|
101
101
|
}
|
|
@@ -61,6 +61,9 @@ export function DeviationAlarmHelper_install_setpoint(this: DeviationStuff, opti
|
|
|
61
61
|
});
|
|
62
62
|
// install inputNode monitoring for change
|
|
63
63
|
this.setpointNodeNode.on("value_changed", (newDataValue: DataValue) => {
|
|
64
|
+
// deliberately the deprecated name, for the same reason as _setStateBasedOnInputValue:
|
|
65
|
+
// an old subclass that overrode `_onSetpointDataValueChange` is still reached, and a
|
|
66
|
+
// new assignment of the published name is reached through the delegate on the impl.
|
|
64
67
|
this._onSetpointDataValueChange(newDataValue);
|
|
65
68
|
});
|
|
66
69
|
} else {
|
|
@@ -239,7 +239,7 @@ export class UAAcknowledgeableConditionImplBase<
|
|
|
239
239
|
assert(!branch.getConfirmedState(), "already confirmed ?");
|
|
240
240
|
const conditionEventId = branch.getEventId();
|
|
241
241
|
|
|
242
|
-
|
|
242
|
+
/* c8 ignore next */
|
|
243
243
|
doDebug && debugLog("autoConfirmBranch getAckedState ", branch.getAckedState());
|
|
244
244
|
this._confirm_branch(conditionEventId, comment, branch, "Server/Confirm");
|
|
245
245
|
}
|
|
@@ -290,7 +290,7 @@ export class UAAlarmConditionImplBase extends UAAcknowledgeableConditionImplBase
|
|
|
290
290
|
|
|
291
291
|
const _node = addressSpace._coerceNode(inputNode);
|
|
292
292
|
if (_node === null) {
|
|
293
|
-
|
|
293
|
+
/* c8 ignore next */
|
|
294
294
|
doDebug && debugLog(" cannot find nodeId ", inputNode);
|
|
295
295
|
} else {
|
|
296
296
|
assert(_node, "Expecting a valid input node");
|
|
@@ -570,7 +570,7 @@ export class UAConditionImplBase<T extends UAConditionEvents & ListenerSignature
|
|
|
570
570
|
// for the time being , only current branch
|
|
571
571
|
const currentBranch = this.currentBranch();
|
|
572
572
|
if (currentBranch.getRetain()) {
|
|
573
|
-
|
|
573
|
+
/* c8 ignore next */
|
|
574
574
|
doDebug && debugLog(` resending condition event for ${this.browseName.toString()}`);
|
|
575
575
|
this.raiseConditionEvent(currentBranch, false);
|
|
576
576
|
return 1;
|
|
@@ -70,10 +70,21 @@ export class UAExclusiveDeviationAlarmImplBase extends UAExclusiveLimitAlarmImpl
|
|
|
70
70
|
return DeviationAlarmHelper_getSetpointValue.call(this);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
/**
|
|
74
|
+
* What the alarm does when the value of its setpoint node changes: re-evaluate the state
|
|
75
|
+
* of the alarm against the new setpoint, since the deviation it watches has just moved.
|
|
76
|
+
*/
|
|
77
|
+
public onSetpointDataValueChange(dataValue: DataValue): void {
|
|
74
78
|
DeviationAlarmHelper_onSetpointDataValueChange.call(this, dataValue);
|
|
75
79
|
}
|
|
76
80
|
|
|
81
|
+
/**
|
|
82
|
+
* @deprecated assign {@link onSetpointDataValueChange} instead; this delegates to it.
|
|
83
|
+
*/
|
|
84
|
+
public _onSetpointDataValueChange(dataValue: DataValue): void {
|
|
85
|
+
this.onSetpointDataValueChange(dataValue);
|
|
86
|
+
}
|
|
87
|
+
|
|
77
88
|
public _install_setpoint(options: InstallSetPointOptions): void {
|
|
78
89
|
DeviationAlarmHelper_install_setpoint.call(this, options);
|
|
79
90
|
}
|
|
@@ -79,10 +79,21 @@ export class UANonExclusiveDeviationAlarmImplBase
|
|
|
79
79
|
return DeviationAlarmHelper_getSetpointValue.call(this);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
/**
|
|
83
|
+
* What the alarm does when the value of its setpoint node changes: re-evaluate the state
|
|
84
|
+
* of the alarm against the new setpoint, since the deviation it watches has just moved.
|
|
85
|
+
*/
|
|
86
|
+
public onSetpointDataValueChange(dataValue: DataValue): void {
|
|
83
87
|
DeviationAlarmHelper_onSetpointDataValueChange.call(this, dataValue);
|
|
84
88
|
}
|
|
85
89
|
|
|
90
|
+
/**
|
|
91
|
+
* @deprecated assign {@link onSetpointDataValueChange} instead; this delegates to it.
|
|
92
|
+
*/
|
|
93
|
+
public _onSetpointDataValueChange(dataValue: DataValue): void {
|
|
94
|
+
this.onSetpointDataValueChange(dataValue);
|
|
95
|
+
}
|
|
96
|
+
|
|
86
97
|
public _install_setpoint(options: InstallSetPointOptions): void {
|
|
87
98
|
DeviationAlarmHelper_install_setpoint.call(this, options);
|
|
88
99
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*
|
|
4
|
+
* One clock reading for one bulk load.
|
|
5
|
+
*
|
|
6
|
+
* Constructing a Variable stamps it with `getCurrentClock()`, and so does setting its initial
|
|
7
|
+
* value — twice per variable, thousands of times per nodeset, for a timestamp that means
|
|
8
|
+
* "when this was loaded". The readings differ by microseconds and nothing depends on the
|
|
9
|
+
* difference; the syscall behind them is ~1.4% of a load.
|
|
10
|
+
*
|
|
11
|
+
* The reading is taken once when a load begins and reused until it ends. Two things make that
|
|
12
|
+
* safe rather than merely cheaper:
|
|
13
|
+
*
|
|
14
|
+
* - it is scoped to the **address space being loaded**, not to the process. A server writing
|
|
15
|
+
* to a different address space, or to this one outside a load, still gets a real clock. A
|
|
16
|
+
* module-global freeze would have leaked a stale timestamp into any concurrent write.
|
|
17
|
+
* - it is **reference counted**, so loading a nodeset into an address space that is already
|
|
18
|
+
* mid-load — grafting onto a partially built space — does not end the freeze early.
|
|
19
|
+
*
|
|
20
|
+
* What changes observably: every Variable a single load creates carries the same
|
|
21
|
+
* `sourceTimestamp` instead of timestamps a few microseconds apart. For nodes that came from
|
|
22
|
+
* one file, at one instant, that is arguably the more truthful answer; it is a change all the
|
|
23
|
+
* same, which is why it is confined to loading.
|
|
24
|
+
*/
|
|
25
|
+
import { getCurrentClock, type PreciseClock } from "node-opcua-date-time";
|
|
26
|
+
|
|
27
|
+
interface Frozen {
|
|
28
|
+
clock: PreciseClock;
|
|
29
|
+
depth: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Keyed weakly, so an address space that is disposed and dropped takes its entry with it —
|
|
34
|
+
* a load that throws before `endBulkLoadClock` cannot pin one either.
|
|
35
|
+
*/
|
|
36
|
+
const frozen = new WeakMap<object, Frozen>();
|
|
37
|
+
|
|
38
|
+
/** begin a load: take the reading the load will stamp everything with */
|
|
39
|
+
export function beginBulkLoadClock(addressSpace: object): void {
|
|
40
|
+
const existing = frozen.get(addressSpace);
|
|
41
|
+
if (existing) {
|
|
42
|
+
existing.depth += 1;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
frozen.set(addressSpace, { clock: getCurrentClock(), depth: 1 });
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** end a load; the innermost end of a nested pair is not the one that thaws it */
|
|
49
|
+
export function endBulkLoadClock(addressSpace: object): void {
|
|
50
|
+
const existing = frozen.get(addressSpace);
|
|
51
|
+
if (!existing) return;
|
|
52
|
+
existing.depth -= 1;
|
|
53
|
+
if (existing.depth <= 0) {
|
|
54
|
+
frozen.delete(addressSpace);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* the clock to stamp a node with: the load's reading while one is in progress for this address
|
|
60
|
+
* space, a fresh reading otherwise.
|
|
61
|
+
*/
|
|
62
|
+
export function loadClock(addressSpace: object | null | undefined): PreciseClock {
|
|
63
|
+
const existing = addressSpace ? frozen.get(addressSpace) : undefined;
|
|
64
|
+
return existing ? existing.clock : getCurrentClock();
|
|
65
|
+
}
|
|
@@ -25,7 +25,9 @@
|
|
|
25
25
|
import type { UAVariable, UAVariableType } from "node-opcua-address-space-base";
|
|
26
26
|
import { VariableTypeIds } from "node-opcua-constants";
|
|
27
27
|
import { NodeClass } from "node-opcua-data-model";
|
|
28
|
-
import { resolveNodeId } from "node-opcua-nodeid";
|
|
28
|
+
import { NodeId, resolveNodeId } from "node-opcua-nodeid";
|
|
29
|
+
import { SemanticChangeStructureDataType } from "node-opcua-types";
|
|
30
|
+
import { DataType, VariantArrayType } from "node-opcua-variant";
|
|
29
31
|
|
|
30
32
|
/**
|
|
31
33
|
* the Properties whose value carries the semantics of the DataItem they belong to.
|
|
@@ -100,3 +102,39 @@ export function notifySemanticsChangedIfNeeded(property: UAVariable): void {
|
|
|
100
102
|
(dataItem as UAVariable & { handle_semantic_changed: (dataValue?: unknown) => void }).handle_semantic_changed();
|
|
101
103
|
}
|
|
102
104
|
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* OPC 10000-5 6.4.31: besides the SemanticsChanged bit on the DataItem's next notification, the
|
|
108
|
+
* Server reports a semantics change as a SemanticChangeEventType on the Server object, carrying
|
|
109
|
+
* the affected Node and its TypeDefinition. A client subscribed to the Server's events learns of
|
|
110
|
+
* the change without monitoring the DataItem itself.
|
|
111
|
+
*
|
|
112
|
+
* Raised from `handle_semantic_changed`, the single point every semantics change goes through, so
|
|
113
|
+
* the event and the bit can never disagree. Modelled on how the address space raises
|
|
114
|
+
* GeneralModelChangeEventType.
|
|
115
|
+
*/
|
|
116
|
+
export function raiseSemanticChangeEvent(dataItem: UAVariable): void {
|
|
117
|
+
const addressSpace = dataItem.addressSpace;
|
|
118
|
+
// during construction and teardown there is no Server object to raise the event on
|
|
119
|
+
const server = addressSpace?.rootFolder?.objects?.server;
|
|
120
|
+
if (!server) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const eventTypeNode = addressSpace.findEventType("SemanticChangeEventType");
|
|
124
|
+
if (!eventTypeNode) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const changes = [
|
|
128
|
+
new SemanticChangeStructureDataType({
|
|
129
|
+
affected: dataItem.nodeId,
|
|
130
|
+
affectedType: dataItem.typeDefinitionObj?.nodeId ?? NodeId.nullNodeId
|
|
131
|
+
})
|
|
132
|
+
];
|
|
133
|
+
server.raiseEvent(eventTypeNode, {
|
|
134
|
+
changes: {
|
|
135
|
+
dataType: DataType.ExtensionObject,
|
|
136
|
+
arrayType: VariantArrayType.Array,
|
|
137
|
+
value: changes
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
@@ -22,7 +22,7 @@ import { registerNodePromoter } from "../../api/loader/register_node_promoter.js
|
|
|
22
22
|
import { UAVariableImpl, UAVariableImplT } from "../ua_variable_impl.js";
|
|
23
23
|
import { add_dataItem_stuff } from "./add_dataItem_stuff.js";
|
|
24
24
|
|
|
25
|
-
export { UAMultiStateDiscrete } from "node-opcua-nodeset-ua";
|
|
25
|
+
export type { UAMultiStateDiscrete } from "node-opcua-nodeset-ua";
|
|
26
26
|
|
|
27
27
|
// One declaration, in the api tree, rather than a lesser copy here: this file used to
|
|
28
28
|
// declare its own UAMultiStateDiscreteEx without the UAVariableT half, so the two drifted
|
|
@@ -53,7 +53,7 @@ function removeElementByIndex<T extends ExtensionObject>(uaArrayVariableNode: UA
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
const hasComponent = uaArrayVariableNode.addressSpace.findReferenceType("HasComponent");
|
|
56
|
-
|
|
56
|
+
/* c8 ignore next */
|
|
57
57
|
if (!hasComponent) {
|
|
58
58
|
throw new Error("cannot find HasComponent reference type: please check your nodeset file");
|
|
59
59
|
}
|
|
@@ -95,7 +95,7 @@ export function createExtObjArrayNode<T extends ExtensionObject>(
|
|
|
95
95
|
const namespace = parentFolder.namespace;
|
|
96
96
|
|
|
97
97
|
const complexVariableType = addressSpace.findVariableType(options.complexVariableType);
|
|
98
|
-
|
|
98
|
+
/* c8 ignore next */
|
|
99
99
|
if (!complexVariableType) {
|
|
100
100
|
throw new Error("cannot find complex variable type");
|
|
101
101
|
}
|
|
@@ -108,14 +108,14 @@ export function createExtObjArrayNode<T extends ExtensionObject>(
|
|
|
108
108
|
assert(!variableType.nodeId.isEmpty());
|
|
109
109
|
|
|
110
110
|
const structure = addressSpace.findDataType("Structure");
|
|
111
|
-
|
|
111
|
+
/* c8 ignore next */
|
|
112
112
|
if (!structure) {
|
|
113
113
|
throw new Error("Structure Type not found: please check your nodeset file");
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
const dataType = addressSpace.findDataType(variableType.dataType);
|
|
117
117
|
|
|
118
|
-
|
|
118
|
+
/* c8 ignore next */
|
|
119
119
|
if (!dataType) {
|
|
120
120
|
errorLog(variableType.toString());
|
|
121
121
|
throw new Error("cannot find Data Type");
|
|
@@ -170,7 +170,7 @@ export function bindExtObjArrayNode<T extends ExtensionObject>(
|
|
|
170
170
|
const addressSpace = uaArrayVariableNode.addressSpace;
|
|
171
171
|
|
|
172
172
|
const variableType = addressSpace.findVariableType(variableTypeNodeId);
|
|
173
|
-
|
|
173
|
+
/* c8 ignore next */
|
|
174
174
|
if (!variableType || variableType.nodeId.isEmpty()) {
|
|
175
175
|
throw new Error(`Cannot find VariableType ${variableTypeNodeId.toString()}`);
|
|
176
176
|
}
|
|
@@ -447,12 +447,12 @@ function _historyReadRaw(
|
|
|
447
447
|
|
|
448
448
|
const session = context.session;
|
|
449
449
|
|
|
450
|
-
|
|
450
|
+
/* c8 ignore next */
|
|
451
451
|
if (!session) {
|
|
452
452
|
throw new Error("Internal Error: context.session not defined");
|
|
453
453
|
}
|
|
454
454
|
|
|
455
|
-
|
|
455
|
+
/* c8 ignore next */
|
|
456
456
|
if (!session.continuationPointManager) {
|
|
457
457
|
throw new Error("Internal Error: context.session.continuationPointManager not defined");
|
|
458
458
|
}
|
package/impl/namespace_impl.ts
CHANGED
|
@@ -110,6 +110,7 @@ import { UANonExclusiveDeviationAlarmImplBase } from "./alarms_and_conditions/ua
|
|
|
110
110
|
import { UANonExclusiveLimitAlarmImplBase } from "./alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js";
|
|
111
111
|
import { type UAOffNormalAlarmEx, UAOffNormalAlarmImplBase } from "./alarms_and_conditions/ua_off_normal_alarm_impl.js";
|
|
112
112
|
import { BaseNodeImpl } from "./base_node_impl.js";
|
|
113
|
+
import { BaseNode_getPrivate } from "./base_node_private.js";
|
|
113
114
|
import { add_dataItem_stuff } from "./data_access/add_dataItem_stuff.js";
|
|
114
115
|
import { _addMultiStateDiscrete } from "./data_access/ua_multistate_discrete_impl.js";
|
|
115
116
|
import { _addMultiStateValueDiscrete } from "./data_access/ua_multistate_value_discrete_impl.js";
|
|
@@ -140,7 +141,7 @@ function _makeHashKey(nodeId: NodeId): string | number {
|
|
|
140
141
|
case NodeIdType.NUMERIC:
|
|
141
142
|
return nodeId.value as number;
|
|
142
143
|
default:
|
|
143
|
-
|
|
144
|
+
/* c8 ignore next */
|
|
144
145
|
if (nodeId.identifierType !== NodeIdType.BYTESTRING) {
|
|
145
146
|
throw new Error("invalid nodeIdType");
|
|
146
147
|
}
|
|
@@ -265,7 +266,7 @@ export class NamespaceImpl implements NamespacePrivate {
|
|
|
265
266
|
private defaultRolePermissions?: RolePermissionType[];
|
|
266
267
|
|
|
267
268
|
constructor(options: NamespaceConstructorOptions) {
|
|
268
|
-
|
|
269
|
+
/* c8 ignore next */
|
|
269
270
|
if (!(typeof options.namespaceUri === "string")) {
|
|
270
271
|
throw new Error(`NamespaceImpl constructor: namespaceUri must exists and be a string : got ${options.namespaceUri}`);
|
|
271
272
|
}
|
|
@@ -830,6 +831,89 @@ export class NamespaceImpl implements NamespacePrivate {
|
|
|
830
831
|
});
|
|
831
832
|
}
|
|
832
833
|
|
|
834
|
+
/**
|
|
835
|
+
* Empty the namespace: every node it holds goes, and so does every reference that crossed
|
|
836
|
+
* between one of them and a node of another namespace. The namespace object itself survives,
|
|
837
|
+
* registered under the same index and uri, ready to be populated again - this is a recycle,
|
|
838
|
+
* not a {@link dispose}.
|
|
839
|
+
*
|
|
840
|
+
* Only the references that cross out are severed. A reference between two nodes of this
|
|
841
|
+
* namespace needs no work at all: both ends are about to be dropped and nothing outside will
|
|
842
|
+
* ever ask about them again. On a model grafted onto loaded base nodesets the crossing
|
|
843
|
+
* references are a small fraction of the total, which is what makes this cheaper than
|
|
844
|
+
* deleting the nodes one by one.
|
|
845
|
+
*
|
|
846
|
+
* @internal
|
|
847
|
+
*
|
|
848
|
+
* Callers want {@link IAddressSpace.deleteNamespace}: the rest of the operation - the single
|
|
849
|
+
* model-change transaction, the DataType factory of this namespace, the address space's set
|
|
850
|
+
* of historizing nodes - is address-space state that a namespace has no business reaching
|
|
851
|
+
* into.
|
|
852
|
+
*/
|
|
853
|
+
public _deleteAllNodes(): void {
|
|
854
|
+
const addressSpace = this.addressSpace;
|
|
855
|
+
const index = this.index;
|
|
856
|
+
|
|
857
|
+
// a node deleted while someone watches for model changes still has to say so; the probe
|
|
858
|
+
// is skipped wholesale when nobody is listening (see AddressSpace#suspendModelChangeEvents)
|
|
859
|
+
for (const node of this._nodeid_index.values()) {
|
|
860
|
+
_handle_delete_node_model_change_event(node);
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
for (const node of this._nodeid_index.values()) {
|
|
864
|
+
const _private = BaseNode_getPrivate(node);
|
|
865
|
+
// snapshot first: removing the far end of a reference mutates this node's own indexes
|
|
866
|
+
const crossing: UAReference[] = [];
|
|
867
|
+
for (const ref of _private._referenceIdx.values()) {
|
|
868
|
+
if (ref.nodeId.namespace !== index) {
|
|
869
|
+
crossing.push(ref);
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
for (const ref of _private._back_referenceIdx.values()) {
|
|
873
|
+
if (ref.nodeId.namespace !== index) {
|
|
874
|
+
crossing.push(ref);
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
for (const ref of crossing) {
|
|
878
|
+
const other = addressSpace.findNode(ref.nodeId);
|
|
879
|
+
if (!other) {
|
|
880
|
+
// the other end was never there, or has gone already: nothing holds this
|
|
881
|
+
continue;
|
|
882
|
+
}
|
|
883
|
+
// removeReference copes with the reference being held by either end, and undoes
|
|
884
|
+
// the child accessor, the hierarchical index and the memoized scans on both
|
|
885
|
+
other.removeReference({
|
|
886
|
+
isForward: !ref.isForward,
|
|
887
|
+
nodeId: node.nodeId,
|
|
888
|
+
referenceType: ref.referenceType
|
|
889
|
+
});
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
for (const node of this._nodeid_index.values()) {
|
|
894
|
+
(<BaseNodeImpl>node).dispose();
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
// the per-node unregister of _deleteNode would walk every map entry; emptying them
|
|
898
|
+
// outright says the same thing and is what makes the namespace reusable
|
|
899
|
+
this._nodeid_index = new Map();
|
|
900
|
+
this._aliases = new Map();
|
|
901
|
+
this._objectTypeMap = new Map();
|
|
902
|
+
this._variableTypeMap = new Map();
|
|
903
|
+
this._referenceTypeMap = new Map();
|
|
904
|
+
this._referenceTypeMapInv = new Map();
|
|
905
|
+
this._dataTypeMap = new Map();
|
|
906
|
+
|
|
907
|
+
// the counter restarts, so a second population hands out the same ids as the first; the
|
|
908
|
+
// symbolic name table is kept, for the same reason
|
|
909
|
+
this._nodeIdManager.reset();
|
|
910
|
+
|
|
911
|
+
// the header the nodeset carried, which the next population will set again
|
|
912
|
+
this._requiredModels = undefined;
|
|
913
|
+
this.version = "0.0.0";
|
|
914
|
+
this.publicationDate = new Date(Date.UTC(1900, 0, 1));
|
|
915
|
+
}
|
|
916
|
+
|
|
833
917
|
/**
|
|
834
918
|
* @internal
|
|
835
919
|
*/
|
|
@@ -1959,6 +2043,12 @@ export class NamespaceImpl implements NamespacePrivate {
|
|
|
1959
2043
|
case NodeClass.VariableType:
|
|
1960
2044
|
this._unregisterVariableType(node as UAVariableType);
|
|
1961
2045
|
break;
|
|
2046
|
+
case NodeClass.ReferenceType:
|
|
2047
|
+
this._unregisterReferenceType(node as UAReferenceType);
|
|
2048
|
+
break;
|
|
2049
|
+
case NodeClass.DataType:
|
|
2050
|
+
this._unregisterDataType(node as UADataType);
|
|
2051
|
+
break;
|
|
1962
2052
|
case NodeClass.Object:
|
|
1963
2053
|
case NodeClass.Variable:
|
|
1964
2054
|
case NodeClass.Method:
|
|
@@ -2101,6 +2191,33 @@ export class NamespaceImpl implements NamespacePrivate {
|
|
|
2101
2191
|
this._variableTypeMap.delete(key);
|
|
2102
2192
|
}
|
|
2103
2193
|
|
|
2194
|
+
/**
|
|
2195
|
+
* the mirror of `_registerReferenceType`: both maps it fills have to be emptied, the inverse
|
|
2196
|
+
* one keyed on the inverse name rather than the browse name.
|
|
2197
|
+
*
|
|
2198
|
+
* Only an entry that still points at this very node goes: `_registerReferenceType` does not
|
|
2199
|
+
* refuse a duplicate key the way the object/variable/dataType ones do, so a second reference
|
|
2200
|
+
* type of the same browse name (or the same inverse name) would otherwise have its entry
|
|
2201
|
+
* removed by the deletion of the first.
|
|
2202
|
+
*/
|
|
2203
|
+
private _unregisterReferenceType(node: UAReferenceType): void {
|
|
2204
|
+
const key = node.browseName.name || "";
|
|
2205
|
+
if (this._referenceTypeMap.get(key) === node) {
|
|
2206
|
+
this._referenceTypeMap.delete(key);
|
|
2207
|
+
}
|
|
2208
|
+
const inverseKey = node.inverseName?.text || "";
|
|
2209
|
+
if (this._referenceTypeMapInv.get(inverseKey) === node) {
|
|
2210
|
+
this._referenceTypeMapInv.delete(inverseKey);
|
|
2211
|
+
}
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2214
|
+
private _unregisterDataType(node: UADataType): void {
|
|
2215
|
+
const key = node.browseName.name || "";
|
|
2216
|
+
if (this._dataTypeMap.get(key) === node) {
|
|
2217
|
+
this._dataTypeMap.delete(key);
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2104
2221
|
/**
|
|
2105
2222
|
* @private
|
|
2106
2223
|
*/
|
|
@@ -30,6 +30,9 @@ export interface NamespacePrivate extends Namespace {
|
|
|
30
30
|
|
|
31
31
|
_deleteNode(node: BaseNode): void;
|
|
32
32
|
|
|
33
|
+
/** @see IAddressSpace.deleteNamespace, which is the way to reach this */
|
|
34
|
+
_deleteAllNodes(): void;
|
|
35
|
+
|
|
33
36
|
internalCreateNode(options: CreateNodeOptions): BaseNode;
|
|
34
37
|
|
|
35
38
|
registerSymbolicNames: boolean;
|