node-opcua-address-space 2.97.0 → 2.98.1
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 +118 -118
- package/dist/source/address_space_ts.js +17 -17
- package/dist/source/continuation_points/continuation_point_manager.d.ts +91 -91
- package/dist/source/continuation_points/continuation_point_manager.js +200 -200
- package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
- package/dist/source/helpers/adjust_browse_direction.js +11 -11
- package/dist/source/helpers/argument_list.d.ts +33 -33
- package/dist/source/helpers/argument_list.js +254 -254
- package/dist/source/helpers/call_helpers.d.ts +6 -6
- package/dist/source/helpers/call_helpers.js +71 -71
- package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
- package/dist/source/helpers/coerce_enum_value.js +33 -33
- package/dist/source/helpers/dump_tools.d.ts +14 -14
- package/dist/source/helpers/dump_tools.js +78 -78
- package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
- package/dist/source/helpers/ensure_secure_access.js +76 -76
- package/dist/source/helpers/make_optionals_map.d.ts +21 -21
- package/dist/source/helpers/make_optionals_map.js +29 -29
- package/dist/source/helpers/multiform_func.d.ts +11 -11
- package/dist/source/helpers/multiform_func.js +75 -75
- package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
- package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
- package/dist/source/index.d.ts +61 -61
- package/dist/source/index.js +89 -89
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +19 -19
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +193 -193
- package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -12
- package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +10 -10
- package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -7
- package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -7
- package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -4
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -4
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -9
- package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -4
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -4
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -20
- package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -23
- package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -32
- package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -19
- package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +45 -42
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -7
- package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +25 -25
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -5
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -20
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -26
- package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -8
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -10
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +2 -2
- package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
- package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
- package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
- package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
- package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
- package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
- package/dist/source/interfaces/extension_object_constructor.d.ts +10 -10
- package/dist/source/interfaces/extension_object_constructor.js +2 -2
- package/dist/source/interfaces/nodeset_loader_options.d.ts +4 -4
- package/dist/source/interfaces/nodeset_loader_options.js +2 -2
- package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
- package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
- package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
- package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
- package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
- package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
- package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -30
- package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +2 -2
- package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +234 -234
- package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
- package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
- package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
- package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
- package/dist/source/loader/decode_xml_extension_object.js +71 -71
- package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
- package/dist/source/loader/ensure_datatype_extracted.js +70 -70
- package/dist/source/loader/generateAddressSpaceRaw.d.ts +11 -11
- package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
- package/dist/source/loader/load_nodeset2.d.ts +17 -17
- package/dist/source/loader/load_nodeset2.js +1483 -1483
- package/dist/source/loader/make_semver_compatible.d.ts +6 -6
- package/dist/source/loader/make_semver_compatible.js +25 -25
- package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
- package/dist/source/loader/make_xml_extension_object_parser.js +326 -326
- package/dist/source/loader/namespace_post_step.d.ts +10 -10
- package/dist/source/loader/namespace_post_step.js +61 -61
- package/dist/source/loader/register_node_promoter.d.ts +2 -2
- package/dist/source/loader/register_node_promoter.js +9 -9
- package/dist/source/namespace.d.ts +6 -6
- package/dist/source/namespace.js +2 -2
- package/dist/source/namespace_alarm_and_condition.d.ts +32 -32
- package/dist/source/namespace_alarm_and_condition.js +2 -2
- package/dist/source/namespace_data_access.d.ts +42 -42
- package/dist/source/namespace_data_access.js +2 -2
- package/dist/source/namespace_machine_state.d.ts +8 -8
- package/dist/source/namespace_machine_state.js +2 -2
- package/dist/source/pseudo_session.d.ts +72 -72
- package/dist/source/pseudo_session.js +254 -254
- package/dist/source/session_context.d.ts +111 -111
- package/dist/source/session_context.js +264 -264
- package/dist/source/session_context.js.map +1 -1
- package/dist/source/set_namespace_meta_data.d.ts +2 -2
- package/dist/source/set_namespace_meta_data.js +59 -59
- package/dist/source/ua_root_folder.d.ts +9 -9
- package/dist/source/ua_root_folder.js +2 -2
- package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
- package/dist/source/ua_two_state_variable_ex.js +2 -2
- package/dist/source/xml_writer.d.ts +18 -18
- package/dist/source/xml_writer.js +2 -2
- package/dist/src/address_space.d.ts +387 -387
- package/dist/src/address_space.js +1385 -1385
- package/dist/src/address_space.js.map +1 -1
- package/dist/src/address_space_change_event_tools.d.ts +6 -6
- package/dist/src/address_space_change_event_tools.js +152 -152
- package/dist/src/address_space_private.d.ts +43 -43
- package/dist/src/address_space_private.js +2 -2
- package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
- package/dist/src/alarms_and_conditions/condition.js +78 -78
- package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -26
- package/dist/src/alarms_and_conditions/condition_info_impl.js +54 -54
- package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +222 -222
- package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +657 -657
- package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +9 -9
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +60 -60
- package/dist/src/alarms_and_conditions/index.d.ts +16 -16
- package/dist/src/alarms_and_conditions/index.js +32 -32
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +44 -44
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +93 -93
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +418 -418
- 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 +26 -26
- package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +44 -44
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +183 -183
- package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +155 -153
- package/dist/src/alarms_and_conditions/ua_condition_impl.js +1028 -1028
- 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 +14 -14
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +34 -34
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +24 -24
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -11
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +23 -23
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +11 -11
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +79 -79
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +24 -24
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +19 -19
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +46 -46
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +165 -165
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -18
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
- package/dist/src/apply_condition_refresh.d.ts +6 -6
- package/dist/src/apply_condition_refresh.js +27 -27
- package/dist/src/base_node_impl.d.ts +284 -284
- package/dist/src/base_node_impl.js +1454 -1454
- package/dist/src/base_node_private.d.ts +81 -81
- package/dist/src/base_node_private.js +832 -803
- package/dist/src/base_node_private.js.map +1 -1
- package/dist/src/check_value_rank_compatibility.d.ts +15 -15
- package/dist/src/check_value_rank_compatibility.js +81 -81
- package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
- package/dist/src/data_access/add_dataItem_stuff.js +61 -61
- package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
- package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
- package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
- package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
- package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +52 -52
- package/dist/src/data_access/ua_multistate_value_discrete_impl.js +253 -253
- package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -25
- package/dist/src/data_access/ua_two_state_discrete_impl.js +155 -155
- package/dist/src/event_data.d.ts +34 -34
- package/dist/src/event_data.js +64 -64
- package/dist/src/extension_object_array_node.d.ts +23 -23
- package/dist/src/extension_object_array_node.js +248 -248
- package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
- package/dist/src/historical_access/address_space_historical_data_node.js +652 -652
- package/dist/src/idx_iterator.d.ts +8 -8
- package/dist/src/idx_iterator.js +50 -50
- package/dist/src/index_current.d.ts +46 -46
- package/dist/src/index_current.js +77 -77
- package/dist/src/namespace_impl.d.ts +456 -456
- package/dist/src/namespace_impl.js +1762 -1762
- package/dist/src/namespace_impl.js.map +1 -1
- package/dist/src/namespace_private.d.ts +23 -23
- package/dist/src/namespace_private.js +32 -32
- package/dist/src/nodeid_manager.d.ts +37 -37
- package/dist/src/nodeid_manager.js +183 -183
- package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
- package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
- package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +18 -18
- package/dist/src/nodeset_tools/construct_namespace_dependency.js +140 -140
- package/dist/src/nodeset_tools/dump_to_bsd.d.ts +2 -2
- package/dist/src/nodeset_tools/dump_to_bsd.js +164 -164
- package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +10 -10
- package/dist/src/nodeset_tools/nodeset_to_xml.js +1287 -1287
- package/dist/src/private_namespace.d.ts +5 -5
- package/dist/src/private_namespace.js +19 -19
- package/dist/src/reference_impl.d.ts +43 -43
- package/dist/src/reference_impl.js +139 -139
- package/dist/src/role_permissions.d.ts +2 -2
- package/dist/src/role_permissions.js +10 -10
- package/dist/src/state_machine/finite_state_machine.d.ts +81 -81
- package/dist/src/state_machine/finite_state_machine.js +388 -388
- package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +38 -38
- package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
- package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
- package/dist/src/state_machine/ua_two_state_variable.js +331 -331
- package/dist/src/tool_isSubtypeOf.d.ts +18 -18
- package/dist/src/tool_isSubtypeOf.js +124 -124
- package/dist/src/ua_condition_type.d.ts +8 -8
- package/dist/src/ua_condition_type.js +2 -2
- package/dist/src/ua_data_type_impl.d.ts +89 -89
- package/dist/src/ua_data_type_impl.js +368 -368
- package/dist/src/ua_method_impl.d.ts +42 -42
- package/dist/src/ua_method_impl.js +217 -217
- package/dist/src/ua_object_impl.d.ts +35 -35
- package/dist/src/ua_object_impl.js +168 -168
- package/dist/src/ua_object_type_impl.d.ts +50 -50
- package/dist/src/ua_object_type_impl.js +126 -126
- package/dist/src/ua_reference_type_impl.d.ts +45 -45
- package/dist/src/ua_reference_type_impl.js +141 -141
- package/dist/src/ua_variable_impl.d.ts +380 -380
- package/dist/src/ua_variable_impl.js +1738 -1738
- package/dist/src/ua_variable_impl_ext_obj.d.ts +23 -23
- package/dist/src/ua_variable_impl_ext_obj.js +670 -670
- package/dist/src/ua_variable_type_impl.d.ts +74 -74
- package/dist/src/ua_variable_type_impl.js +597 -581
- package/dist/src/ua_variable_type_impl.js.map +1 -1
- package/dist/src/ua_view_impl.d.ts +19 -19
- package/dist/src/ua_view_impl.js +43 -43
- package/dist/tsconfig_common.tsbuildinfo +1 -0
- package/distHelpers/add_event_generator_object.d.ts +3 -3
- package/distHelpers/add_event_generator_object.js +64 -64
- package/distHelpers/alarms_and_conditions_demo.d.ts +9 -9
- package/distHelpers/alarms_and_conditions_demo.js +115 -115
- package/distHelpers/assertHasMatchingReference.d.ts +19 -19
- package/distHelpers/assertHasMatchingReference.js +40 -40
- package/distHelpers/boiler_system.d.ts +113 -113
- package/distHelpers/boiler_system.js +395 -395
- package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
- package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
- package/distHelpers/date_utils.d.ts +3 -3
- package/distHelpers/date_utils.js +9 -9
- package/distHelpers/dump_statemachine.js +127 -127
- package/distHelpers/get_address_space_fixture.d.ts +1 -1
- package/distHelpers/get_address_space_fixture.js +30 -30
- package/distHelpers/get_mini_address_space.d.ts +7 -7
- package/distHelpers/get_mini_address_space.js +36 -36
- package/distHelpers/index.d.ts +12 -12
- package/distHelpers/index.js +28 -28
- package/distHelpers/mock_session.d.ts +10 -10
- package/distHelpers/mock_session.js +25 -25
- package/distNodeJS/generate_address_space.d.ts +6 -6
- package/distNodeJS/generate_address_space.js +52 -52
- package/distNodeJS/index.d.ts +1 -1
- package/distNodeJS/index.js +17 -17
- package/package.json +51 -40
- package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +4 -3
- package/src/alarms_and_conditions/ua_condition_impl.ts +14 -9
- package/src/base_node_private.ts +73 -28
- package/src/ua_variable_type_impl.ts +35 -17
- package/.mocharc.yml +0 -12
- package/dist/src/tool_isSupertypeOf.d.ts +0 -18
- package/dist/src/tool_isSupertypeOf.js +0 -125
- package/dist/src/tool_isSupertypeOf.js.map +0 -1
- package/generate.js +0 -1
- package/source_nodejs/generate_address_space.ts +0 -60
- package/source_nodejs/index.ts +0 -1
- package/test_helpers/add_event_generator_object.ts +0 -71
- package/test_helpers/alarms_and_conditions_demo.ts +0 -151
- package/test_helpers/assertHasMatchingReference.ts +0 -43
- package/test_helpers/boiler_system.ts +0 -610
- package/test_helpers/create_minimalist_address_space_nodeset.ts +0 -208
- package/test_helpers/date_utils.ts +0 -5
- package/test_helpers/dump_statemachine.ts +0 -155
- package/test_helpers/get_address_space_fixture.ts +0 -30
- package/test_helpers/get_mini_address_space.ts +0 -42
- package/test_helpers/index.ts +0 -12
- package/test_helpers/mock_session.ts +0 -34
- package/test_helpers/test_fixtures/dataType_in_separateNamespace.xml +0 -150
- package/test_helpers/test_fixtures/dataType_in_separateNamespace_basic.xml +0 -57
- package/test_helpers/test_fixtures/dataType_in_separateNamespace_mix.xml +0 -136
- package/test_helpers/test_fixtures/dataType_issue.xml +0 -80
- package/test_helpers/test_fixtures/dataType_withEnumeration.xml +0 -82
- package/test_helpers/test_fixtures/dataType_with_isOptionSet.xml +0 -194
- package/test_helpers/test_fixtures/dataType_with_qualifiedname.xml +0 -71
- package/test_helpers/test_fixtures/dataType_with_recursive_structure.xml +0 -155
- package/test_helpers/test_fixtures/dataType_with_structures.xml +0 -605
- package/test_helpers/test_fixtures/dataType_with_union.xml +0 -90
- package/test_helpers/test_fixtures/datatype_as_per_1.04.xml +0 -118
- package/test_helpers/test_fixtures/datatype_with_allow_subtype.xml +0 -104
- package/test_helpers/test_fixtures/eurange_issue.xml +0 -74
- package/test_helpers/test_fixtures/example_issue1096.xml +0 -267
- package/test_helpers/test_fixtures/fixture_empty_nodeset2.xml +0 -106
- package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +0 -1305
- package/test_helpers/test_fixtures/fixuture_nodeset_objects_with_some_methods.xml +0 -370
- package/test_helpers/test_fixtures/issue_1132_variable_with_nodeid_value.xml +0 -68
- package/test_helpers/test_fixtures/issue_846.xml +0 -3172
- package/test_helpers/test_fixtures/issue_899_variable_with_nodeid_value.xml +0 -33
- package/test_helpers/test_fixtures/mini.Node.Set2.xml +0 -4736
- package/test_helpers/test_fixtures/mini.nodeset.withVariousVariables.xml +0 -196
- package/test_helpers/test_fixtures/minimalist_nodeset_with_models.xml +0 -8
- package/test_helpers/test_fixtures/minimalist_nodeset_with_models_more_complex.xml +0 -20
- package/test_helpers/test_fixtures/nodeset_no_aliases.xml +0 -30
- package/test_helpers/test_fixtures/nodeset_no_aliases_with_aliases.xml +0 -31
- package/test_helpers/test_fixtures/nodeset_with_analog_items.xml +0 -45
- package/test_helpers/test_fixtures/nodeset_with_guid.xml +0 -1442
- package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +0 -31
- package/test_helpers/test_fixtures/nodeset_with_special_char.xml +0 -34
- package/test_helpers/test_fixtures/nodeset_with_utf8_special_characters.xml +0 -20
- package/test_helpers/test_fixtures/variable_with_value.xml +0 -143
- package/test_helpers/test_fixtures/variabletype_with_value.xml +0 -324
|
@@ -31,7 +31,8 @@ import {
|
|
|
31
31
|
UAEventType,
|
|
32
32
|
BaseNode,
|
|
33
33
|
UAObject,
|
|
34
|
-
InstantiateObjectOptions
|
|
34
|
+
InstantiateObjectOptions,
|
|
35
|
+
UAProperty
|
|
35
36
|
} from "node-opcua-address-space-base";
|
|
36
37
|
import { UAConditionVariable } from "node-opcua-nodeset-ua";
|
|
37
38
|
|
|
@@ -48,7 +49,6 @@ import { UAConditionType } from "../ua_condition_type";
|
|
|
48
49
|
import { UABaseEventImpl } from "./ua_base_event_impl";
|
|
49
50
|
import { ConditionSnapshotImpl } from "./condition_snapshot_impl";
|
|
50
51
|
|
|
51
|
-
|
|
52
52
|
const debugLog = make_debugLog(__filename);
|
|
53
53
|
const errorLog = make_errorLog(__filename);
|
|
54
54
|
const doDebug = checkDebugFlag(__filename);
|
|
@@ -56,6 +56,8 @@ const warningLog = make_warningLog(__filename);
|
|
|
56
56
|
|
|
57
57
|
export declare interface UAConditionImpl extends UAConditionEx, UABaseEventImpl {
|
|
58
58
|
on(eventName: string, eventHandler: any): this;
|
|
59
|
+
conditionClassId: UAProperty<NodeId, /*c*/ DataType.NodeId>;
|
|
60
|
+
conditionClassName: UAProperty<LocalizedText, /*c*/ DataType.LocalizedText>;
|
|
59
61
|
}
|
|
60
62
|
/**
|
|
61
63
|
*
|
|
@@ -452,7 +454,11 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
452
454
|
}
|
|
453
455
|
}
|
|
454
456
|
} else {
|
|
455
|
-
warningLog(
|
|
457
|
+
warningLog(
|
|
458
|
+
"Condition ",
|
|
459
|
+
this.nodeId.toString(),
|
|
460
|
+
"is not linked to a Object with a IsConditionOf(reversed(HasCondition))"
|
|
461
|
+
);
|
|
456
462
|
}
|
|
457
463
|
// xx console.log("MMMMMMMM%%%%%%%%%%%%%%%%%%%%% branch " +
|
|
458
464
|
// branch.getBranchId().toString() + " eventId = " + branch.getEventId().toString("hex"));
|
|
@@ -647,7 +653,6 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
|
|
|
647
653
|
}
|
|
648
654
|
}
|
|
649
655
|
|
|
650
|
-
|
|
651
656
|
/**
|
|
652
657
|
* instantiate a Condition.
|
|
653
658
|
* this will create the unique EventId and will set eventType
|
|
@@ -1126,11 +1131,11 @@ function _add_comment_method(
|
|
|
1126
1131
|
callback: CallbackT<CallMethodResultOptions>
|
|
1127
1132
|
) {
|
|
1128
1133
|
//
|
|
1129
|
-
// The AddComment Method is used to apply a comment to a specific state of a Condition
|
|
1130
|
-
// instance. Normally, the NodeId of the Object instance is passed as the ObjectId to the Call
|
|
1131
|
-
// Service. However, some Servers do not expose Condition instances in the AddressSpace.
|
|
1132
|
-
// Therefore, all Servers shall also allow Clients to call the AddComment Method by specifying
|
|
1133
|
-
// ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the
|
|
1134
|
+
// The AddComment Method is used to apply a comment to a specific state of a Condition
|
|
1135
|
+
// instance. Normally, the NodeId of the Object instance is passed as the ObjectId to the Call
|
|
1136
|
+
// Service. However, some Servers do not expose Condition instances in the AddressSpace.
|
|
1137
|
+
// Therefore, all Servers shall also allow Clients to call the AddComment Method by specifying
|
|
1138
|
+
// ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the
|
|
1134
1139
|
// ConditionType Node.
|
|
1135
1140
|
// Signature
|
|
1136
1141
|
// - EventId EventId identifying a particular Event Notification where a state was reported for a
|
package/src/base_node_private.ts
CHANGED
|
@@ -527,8 +527,8 @@ function _clone_children_on_template(
|
|
|
527
527
|
return;
|
|
528
528
|
}
|
|
529
529
|
// we have found a matching child on the new parent.
|
|
530
|
-
// the mission is to enrich this child node with
|
|
531
|
-
//
|
|
530
|
+
// the mission is to enrich this child node with components and properties that
|
|
531
|
+
// exist also in the template
|
|
532
532
|
|
|
533
533
|
let typeDefinitionNode: UAVariableType | UAObjectType | null = nodeToCloneTypeDefinition;
|
|
534
534
|
while (typeDefinitionNode) {
|
|
@@ -580,7 +580,18 @@ function _clone_children_on_template(
|
|
|
580
580
|
],
|
|
581
581
|
copyAlsoModellingRules
|
|
582
582
|
};
|
|
583
|
-
|
|
583
|
+
|
|
584
|
+
const alreadyCloned = extraInfo.getCloned(grandChild);
|
|
585
|
+
if (alreadyCloned) {
|
|
586
|
+
alreadyCloned.addReference({
|
|
587
|
+
referenceType: ref.referenceType,
|
|
588
|
+
isForward: false,
|
|
589
|
+
nodeId: newParentChild.nodeId
|
|
590
|
+
});
|
|
591
|
+
} else {
|
|
592
|
+
const a = grandChild.clone(options, optionalFilter, extraInfo);
|
|
593
|
+
extraInfo.registerClonedObject(a,grandChild);
|
|
594
|
+
}
|
|
584
595
|
}
|
|
585
596
|
}
|
|
586
597
|
}
|
|
@@ -664,20 +675,36 @@ function _clone_collection_new(
|
|
|
664
675
|
);
|
|
665
676
|
|
|
666
677
|
extraInfo.level += 4;
|
|
667
|
-
const clone = node.clone(options, optionalFilter, extraInfo);
|
|
668
|
-
extraInfo.level -= 4;
|
|
669
|
-
doTrace && traceLog(extraInfo.pad(), "cloning => ", node.browseName.toString(), "nodeId", clone.nodeId.toString());
|
|
670
678
|
|
|
671
|
-
extraInfo.
|
|
672
|
-
|
|
673
|
-
|
|
679
|
+
const alreadyCloned = extraInfo.getCloned(node);
|
|
680
|
+
if (alreadyCloned) {
|
|
681
|
+
alreadyCloned.addReference({
|
|
682
|
+
referenceType: reference.referenceType,
|
|
683
|
+
isForward: false,
|
|
684
|
+
nodeId: newParent.nodeId
|
|
685
|
+
});
|
|
686
|
+
} else {
|
|
687
|
+
const clone = node.clone(options, optionalFilter, extraInfo);
|
|
674
688
|
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
_cloneInterface(nodeToClone, newParent, node, optionalFilter, extraInfo, browseNameMap);
|
|
678
|
-
extraInfo.level--;
|
|
689
|
+
extraInfo.level -= 4;
|
|
690
|
+
doTrace && traceLog(extraInfo.pad(), "cloning => ", node.browseName.toString(), "nodeId", clone.nodeId.toString());
|
|
679
691
|
|
|
680
|
-
|
|
692
|
+
extraInfo.level++;
|
|
693
|
+
_clone_children_on_template(
|
|
694
|
+
nodeToClone,
|
|
695
|
+
newParent,
|
|
696
|
+
node,
|
|
697
|
+
copyAlsoModellingRules,
|
|
698
|
+
optionalFilter,
|
|
699
|
+
extraInfo,
|
|
700
|
+
browseNameMap
|
|
701
|
+
);
|
|
702
|
+
extraInfo.level--;
|
|
703
|
+
|
|
704
|
+
// also clone or instantiate interface members that may be required in the optionals
|
|
705
|
+
extraInfo.level++;
|
|
706
|
+
_cloneInterface(nodeToClone, newParent, node, optionalFilter, extraInfo, browseNameMap);
|
|
707
|
+
extraInfo.level--;
|
|
681
708
|
extraInfo.registerClonedObject(node, clone);
|
|
682
709
|
}
|
|
683
710
|
}
|
|
@@ -787,7 +814,7 @@ function _crap_extractInterfaces(typeDefinitionNode: UAObjectType | UAVariableTy
|
|
|
787
814
|
const addressSpace = typeDefinitionNode.addressSpace;
|
|
788
815
|
// example:
|
|
789
816
|
// FolderType
|
|
790
|
-
// FunctionalGroupType
|
|
817
|
+
// (di):FunctionalGroupType
|
|
791
818
|
// MachineryItemIdentificationType : IMachineryItemVendorNameplateType
|
|
792
819
|
// MachineIdentificationType : IMachineTagNameplateType, IMachineVendorNamePlateType
|
|
793
820
|
// MachineToolIdentificationType
|
|
@@ -852,7 +879,21 @@ function _cloneInterface(
|
|
|
852
879
|
_clone_collection_new(nodeToClone, node, aggregates, false, localFilter, extraInfo, browseNameMap);
|
|
853
880
|
}
|
|
854
881
|
}
|
|
855
|
-
|
|
882
|
+
|
|
883
|
+
function __clone_organizes_references(
|
|
884
|
+
node: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
|
|
885
|
+
newParent: UAObject | UAVariable | UAMethod,
|
|
886
|
+
copyAlsoModellingRules: boolean,
|
|
887
|
+
optionalFilter: CloneFilter,
|
|
888
|
+
extraInfo: CloneExtraInfo,
|
|
889
|
+
browseNameMap: Set<string>
|
|
890
|
+
): void {
|
|
891
|
+
// find all references that derives from the Organizes
|
|
892
|
+
const organizedRef = node.findReferencesEx("Organizes", BrowseDirection.Forward);
|
|
893
|
+
_clone_collection_new(node, newParent, organizedRef, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
function __clone_children_references(
|
|
856
897
|
node: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
|
|
857
898
|
newParent: UAObject | UAVariable | UAMethod,
|
|
858
899
|
copyAlsoModellingRules: boolean,
|
|
@@ -860,11 +901,22 @@ export function _clone_children_references(
|
|
|
860
901
|
extraInfo: CloneExtraInfo,
|
|
861
902
|
browseNameMap: Set<string>
|
|
862
903
|
): void {
|
|
863
|
-
// find all
|
|
904
|
+
// find all references that derives from the Aggregates
|
|
864
905
|
const aggregatesRef = node.findReferencesEx("Aggregates", BrowseDirection.Forward);
|
|
865
906
|
_clone_collection_new(node, newParent, aggregatesRef, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
|
|
866
907
|
}
|
|
867
908
|
|
|
909
|
+
export function _clone_hierarchical_references(
|
|
910
|
+
node: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
|
|
911
|
+
newParent: UAObject | UAVariable | UAMethod,
|
|
912
|
+
copyAlsoModellingRules: boolean,
|
|
913
|
+
optionalFilter: CloneFilter,
|
|
914
|
+
extraInfo: CloneExtraInfo,
|
|
915
|
+
browseNameMap: Set<string>
|
|
916
|
+
) {
|
|
917
|
+
__clone_children_references(node, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
|
|
918
|
+
__clone_organizes_references(node, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
|
|
919
|
+
}
|
|
868
920
|
export function _clone_non_hierarchical_references(
|
|
869
921
|
nodeToClone: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
|
|
870
922
|
newParent: BaseNode,
|
|
@@ -900,7 +952,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
|
|
|
900
952
|
!extraInfo || (extraInfo !== null && typeof extraInfo === "object" && typeof extraInfo.registerClonedObject === "function")
|
|
901
953
|
);
|
|
902
954
|
assert(!(this as any).subtypeOf, "We do not do cloning of Type yet");
|
|
903
|
-
|
|
955
|
+
assert(!extraInfo.getCloned(this), "object has already been cloned");
|
|
904
956
|
const namespace = options.namespace;
|
|
905
957
|
const constructorOptions: any = {
|
|
906
958
|
...options,
|
|
@@ -955,7 +1007,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
|
|
|
955
1007
|
const newFilter = optionalFilter.filterFor(cloneObj);
|
|
956
1008
|
|
|
957
1009
|
const browseNameMap = new Set<string>();
|
|
958
|
-
|
|
1010
|
+
_clone_hierarchical_references(this, cloneObj, options.copyAlsoModellingRules, newFilter!, extraInfo, browseNameMap);
|
|
959
1011
|
|
|
960
1012
|
if (this.nodeClass === NodeClass.Object || this.nodeClass === NodeClass.Variable) {
|
|
961
1013
|
let typeDefinitionNode: UAVariableType | UAObjectType | null = this.typeDefinitionObj;
|
|
@@ -965,7 +1017,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
|
|
|
965
1017
|
extraInfo?.pad(),
|
|
966
1018
|
chalk.blueBright("---------------------- Exploring ", typeDefinitionNode.browseName.toString())
|
|
967
1019
|
);
|
|
968
|
-
|
|
1020
|
+
_clone_hierarchical_references(
|
|
969
1021
|
typeDefinitionNode,
|
|
970
1022
|
cloneObj,
|
|
971
1023
|
options.copyAlsoModellingRules,
|
|
@@ -976,14 +1028,7 @@ export function _clone<T extends UAObject | UAVariable | UAMethod>(
|
|
|
976
1028
|
typeDefinitionNode = typeDefinitionNode.subtypeOfObj;
|
|
977
1029
|
}
|
|
978
1030
|
}
|
|
979
|
-
_clone_non_hierarchical_references(
|
|
980
|
-
this,
|
|
981
|
-
cloneObj,
|
|
982
|
-
options.copyAlsoModellingRules,
|
|
983
|
-
newFilter,
|
|
984
|
-
extraInfo,
|
|
985
|
-
browseNameMap
|
|
986
|
-
);
|
|
1031
|
+
_clone_non_hierarchical_references(this, cloneObj, options.copyAlsoModellingRules, newFilter, extraInfo, browseNameMap);
|
|
987
1032
|
}
|
|
988
1033
|
cloneObj.propagate_back_references();
|
|
989
1034
|
cloneObj.install_extra_properties();
|
|
@@ -36,7 +36,7 @@ import { makeOptionalsMap, OptionalMap } from "../source/helpers/make_optionals_
|
|
|
36
36
|
|
|
37
37
|
import { AddressSpacePrivate } from "./address_space_private";
|
|
38
38
|
import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
|
|
39
|
-
import {
|
|
39
|
+
import { _clone_hierarchical_references, ToStringBuilder, UAVariableType_toString } from "./base_node_private";
|
|
40
40
|
import * as tools from "./tool_isSubtypeOf";
|
|
41
41
|
import { get_subtypeOfObj } from "./tool_isSubtypeOf";
|
|
42
42
|
import { get_subtypeOf } from "./tool_isSubtypeOf";
|
|
@@ -51,7 +51,6 @@ const errorLog = make_errorLog(__filename);
|
|
|
51
51
|
let doTrace = checkDebugFlag("INSTANTIATE");
|
|
52
52
|
const traceLog = errorLog;
|
|
53
53
|
|
|
54
|
-
|
|
55
54
|
interface InstantiateS {
|
|
56
55
|
propertyOf?: any;
|
|
57
56
|
componentOf?: any;
|
|
@@ -104,7 +103,7 @@ export interface UAVariableTypeOptions extends InternalBaseNodeOptions {
|
|
|
104
103
|
dataType: NodeIdLike;
|
|
105
104
|
}
|
|
106
105
|
|
|
107
|
-
function deprecate<T>(func: T):T {
|
|
106
|
+
function deprecate<T>(func: T): T {
|
|
108
107
|
return func;
|
|
109
108
|
}
|
|
110
109
|
export class UAVariableTypeImpl extends BaseNodeImpl implements UAVariableType {
|
|
@@ -120,8 +119,8 @@ export class UAVariableTypeImpl extends BaseNodeImpl implements UAVariableType {
|
|
|
120
119
|
|
|
121
120
|
public isSubtypeOf = tools.construct_isSubtypeOf<UAVariableType>(UAVariableTypeImpl);
|
|
122
121
|
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
/** @deprecated - use isSubtypeOf instead */
|
|
123
|
+
public isSupertypeOf = deprecate(tools.construct_isSubtypeOf<UAVariableType>(UAVariableTypeImpl));
|
|
125
124
|
|
|
126
125
|
public readonly isAbstract: boolean;
|
|
127
126
|
public dataType: NodeId;
|
|
@@ -492,6 +491,13 @@ class CloneHelper {
|
|
|
492
491
|
}
|
|
493
492
|
// find subTypeOf
|
|
494
493
|
}
|
|
494
|
+
public getCloned(original: UAVariableType | UAObjectType): UAObject | UAVariable | UAMethod | null {
|
|
495
|
+
const info = this.mapOrgToClone.get(original.nodeId.toString());
|
|
496
|
+
if (info) {
|
|
497
|
+
return info.cloned;
|
|
498
|
+
}
|
|
499
|
+
return null;
|
|
500
|
+
}
|
|
495
501
|
}
|
|
496
502
|
// install properties and components on a instantiated Object
|
|
497
503
|
//
|
|
@@ -508,12 +514,13 @@ function _initialize_properties_and_components<B extends UAObject | UAVariable |
|
|
|
508
514
|
typeDefinitionNode: T,
|
|
509
515
|
copyAlsoModellingRules: boolean,
|
|
510
516
|
optionalsMap: OptionalMap,
|
|
511
|
-
extraInfo: CloneHelper
|
|
517
|
+
extraInfo: CloneHelper,
|
|
518
|
+
browseNameMap: Set<string>
|
|
512
519
|
) {
|
|
513
520
|
if (doDebug) {
|
|
514
521
|
debugLog("instance browseName =", instance.browseName.toString());
|
|
515
|
-
debugLog("typeNode
|
|
516
|
-
debugLog("optionalsMap
|
|
522
|
+
debugLog("typeNode =", typeDefinitionNode.browseName.toString());
|
|
523
|
+
debugLog("optionalsMap =", Object.keys(optionalsMap).join(" "));
|
|
517
524
|
|
|
518
525
|
const c = typeDefinitionNode.findReferencesEx("Aggregates");
|
|
519
526
|
debugLog("typeDefinition aggregates =", c.map((x) => x.node!.browseName.toString()).join(" "));
|
|
@@ -532,9 +539,8 @@ function _initialize_properties_and_components<B extends UAObject | UAVariable |
|
|
|
532
539
|
typeDefinitionNode.browseName.toString()
|
|
533
540
|
);
|
|
534
541
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
_clone_children_references(typeDefinitionNode, instance, copyAlsoModellingRules, filter, extraInfo, browseNameMap);
|
|
542
|
+
|
|
543
|
+
_clone_hierarchical_references(typeDefinitionNode, instance, copyAlsoModellingRules, filter, extraInfo, browseNameMap);
|
|
538
544
|
|
|
539
545
|
// now apply recursion on baseTypeDefinition to get properties and components from base class
|
|
540
546
|
|
|
@@ -561,7 +567,8 @@ function _initialize_properties_and_components<B extends UAObject | UAVariable |
|
|
|
561
567
|
baseTypeDefinition,
|
|
562
568
|
copyAlsoModellingRules,
|
|
563
569
|
optionalsMap,
|
|
564
|
-
extraInfo
|
|
570
|
+
extraInfo,
|
|
571
|
+
browseNameMap
|
|
565
572
|
);
|
|
566
573
|
extraInfo.level--;
|
|
567
574
|
}
|
|
@@ -616,9 +623,9 @@ export function assertUnusedChildBrowseName(addressSpace: AddressSpacePrivate, o
|
|
|
616
623
|
if (parent && hasChildWithBrowseName(parent, coerceQualifiedName(options.browseName))) {
|
|
617
624
|
throw new Error(
|
|
618
625
|
"object " +
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
626
|
+
parent.browseName.name!.toString() +
|
|
627
|
+
" have already a child with browseName " +
|
|
628
|
+
options.browseName.toString()
|
|
622
629
|
);
|
|
623
630
|
}
|
|
624
631
|
}
|
|
@@ -773,14 +780,23 @@ function reconstructFunctionalGroupType(extraInfo: any) {
|
|
|
773
780
|
if (!info) continue;
|
|
774
781
|
|
|
775
782
|
const folder = info.original;
|
|
783
|
+
if (folder.nodeClass !== NodeClass.Object) continue;
|
|
784
|
+
|
|
785
|
+
if (!folder.typeDefinitionObj) continue;
|
|
776
786
|
|
|
777
787
|
assert(folder.typeDefinitionObj.browseName.name.toString() === "FunctionalGroupType");
|
|
778
788
|
|
|
779
789
|
// now create the same reference with the instantiated function group
|
|
780
|
-
const destFolder = info.cloned;
|
|
790
|
+
const destFolder = info.cloned as BaseNode;
|
|
781
791
|
|
|
782
792
|
assert(ref.referenceType);
|
|
783
793
|
|
|
794
|
+
// may be we should check that the referenceType is a subtype of Organizes
|
|
795
|
+
const alreadyExist = destFolder.findReferences(ref.referenceType, !ref.isForward).find((r) => r.nodeId === cloned.nodeId);
|
|
796
|
+
if (alreadyExist) {
|
|
797
|
+
continue;
|
|
798
|
+
}
|
|
799
|
+
|
|
784
800
|
destFolder.addReference({
|
|
785
801
|
isForward: !ref.isForward,
|
|
786
802
|
nodeId: cloned.nodeId,
|
|
@@ -800,7 +816,9 @@ export function initialize_properties_and_components<
|
|
|
800
816
|
|
|
801
817
|
const optionalsMap = makeOptionalsMap(optionals);
|
|
802
818
|
|
|
803
|
-
|
|
819
|
+
const browseNameMap = new Set<string>();
|
|
820
|
+
|
|
821
|
+
_initialize_properties_and_components(instance, topMostType, nodeType, copyAlsoModellingRules, optionalsMap, extraInfo, browseNameMap);
|
|
804
822
|
|
|
805
823
|
reconstructFunctionalGroupType(extraInfo);
|
|
806
824
|
|
package/.mocharc.yml
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module node-opcua-address-space
|
|
3
|
-
*/
|
|
4
|
-
import { NodeId, NodeIdLike } from "node-opcua-nodeid";
|
|
5
|
-
import { BaseNode, UADataType, UAObjectType, UAReferenceType, UAVariableType } from "node-opcua-address-space-base";
|
|
6
|
-
import { BaseNodeImpl } from "./base_node_impl";
|
|
7
|
-
export type BaseNodeConstructor<T extends BaseNode> = new () => T;
|
|
8
|
-
export type MemberFuncValue<T, P, R> = (this: T, param: P) => R;
|
|
9
|
-
export declare function wipeMemorizedStuff(node: any): void;
|
|
10
|
-
export type IsSupertypeOfFunc<T extends UAType> = (this: T, baseType: T) => boolean;
|
|
11
|
-
export type UAType = UAReferenceType | UADataType | UAObjectType | UAVariableType;
|
|
12
|
-
export declare function construct_isSupertypeOf<T extends UAType>(Class: typeof BaseNodeImpl): IsSupertypeOfFunc<T>;
|
|
13
|
-
export declare function construct_slow_isSupertypeOf<T extends UAType>(Class: typeof BaseNodeImpl): (this: T, baseType: T | NodeIdLike) => boolean;
|
|
14
|
-
/**
|
|
15
|
-
* returns the nodeId of the Type which is the super type of this
|
|
16
|
-
*/
|
|
17
|
-
export declare function get_subtypeOf<T extends BaseNode>(this: T): NodeId | null;
|
|
18
|
-
export declare function get_subtypeOfObj(this: BaseNode): BaseNode | null;
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @module node-opcua-address-space
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.get_subtypeOfObj = exports.get_subtypeOf = exports.construct_slow_isSupertypeOf = exports.construct_isSupertypeOf = exports.wipeMemorizedStuff = void 0;
|
|
7
|
-
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
8
|
-
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
9
|
-
const node_opcua_nodeid_2 = require("node-opcua-nodeid");
|
|
10
|
-
const base_node_private_1 = require("./base_node_private");
|
|
11
|
-
const reference_impl_1 = require("./reference_impl");
|
|
12
|
-
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
13
|
-
const HasSubTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype");
|
|
14
|
-
function _filterSubType(reference) {
|
|
15
|
-
return (0, node_opcua_nodeid_2.sameNodeId)(reference.referenceType, HasSubTypeNodeId) && !reference.isForward;
|
|
16
|
-
}
|
|
17
|
-
function _slow_isSupertypeOf(Class, baseType) {
|
|
18
|
-
if (!(baseType instanceof Class)) {
|
|
19
|
-
const node = this.addressSpace.findNode(baseType);
|
|
20
|
-
if (!node || !(node instanceof Class)) {
|
|
21
|
-
throw new Error("Invalid argument");
|
|
22
|
-
}
|
|
23
|
-
return _slow_isSupertypeOf.call(this, Class, node);
|
|
24
|
-
}
|
|
25
|
-
(0, node_opcua_assert_1.assert)(this instanceof Class);
|
|
26
|
-
(0, node_opcua_assert_1.assert)(baseType instanceof Class, " Object must have same type");
|
|
27
|
-
(0, node_opcua_assert_1.assert)(this.addressSpace);
|
|
28
|
-
if ((0, node_opcua_nodeid_2.sameNodeId)(this.nodeId, baseType.nodeId)) {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
const references = this.allReferences();
|
|
32
|
-
const subTypes = references.filter(_filterSubType);
|
|
33
|
-
(0, node_opcua_assert_1.assert)(subTypes.length <= 1, "should have zero or one subtype no more");
|
|
34
|
-
for (const subType1 of subTypes) {
|
|
35
|
-
const subTypeId = subType1.nodeId;
|
|
36
|
-
const subTypeNode = this.addressSpace.findNode(subTypeId);
|
|
37
|
-
// istanbul ignore next
|
|
38
|
-
if (!subTypeNode) {
|
|
39
|
-
throw new Error("Cannot find object with nodeId " + subTypeId.toString());
|
|
40
|
-
}
|
|
41
|
-
if ((0, node_opcua_nodeid_2.sameNodeId)(subTypeNode.nodeId, baseType.nodeId)) {
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
if (_slow_isSupertypeOf.call(subTypeNode, Class, baseType)) {
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
function wipeMemorizedStuff(node) {
|
|
53
|
-
if (!node.__cache) {
|
|
54
|
-
node.__cache = undefined;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.wipeMemorizedStuff = wipeMemorizedStuff;
|
|
58
|
-
// http://jsperf.com/underscore-js-memoize-refactor-test
|
|
59
|
-
// http://addyosmani.com/blog/faster-javascript-memoization/
|
|
60
|
-
function wrap_memoize(func, hashFunc) {
|
|
61
|
-
if (undefined === hashFunc) {
|
|
62
|
-
hashFunc = (_p) => _p.toString();
|
|
63
|
-
}
|
|
64
|
-
return function memoize(param) {
|
|
65
|
-
if (!this.__cache) {
|
|
66
|
-
this.__cache = {};
|
|
67
|
-
}
|
|
68
|
-
const hash = hashFunc.call(this, param);
|
|
69
|
-
let cache_value = this.__cache[hash];
|
|
70
|
-
if (cache_value === undefined) {
|
|
71
|
-
cache_value = func.call(this, param);
|
|
72
|
-
this.__cache[hash] = cache_value;
|
|
73
|
-
}
|
|
74
|
-
return cache_value;
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
function hashBaseNode(e) {
|
|
78
|
-
return e.nodeId.value.toString();
|
|
79
|
-
}
|
|
80
|
-
function construct_isSupertypeOf(Class) {
|
|
81
|
-
return wrap_memoize(function (baseType) {
|
|
82
|
-
if (!(baseType instanceof Class)) {
|
|
83
|
-
throw new Error("expecting baseType to be " +
|
|
84
|
-
Class.name +
|
|
85
|
-
" but got " +
|
|
86
|
-
baseType.constructor.name +
|
|
87
|
-
" " +
|
|
88
|
-
node_opcua_data_model_1.NodeClass[baseType.nodeClass]);
|
|
89
|
-
}
|
|
90
|
-
if (!(this instanceof Class)) {
|
|
91
|
-
throw new Error("expecting this to be " + Class.name + " but got " + baseType.constructor.name);
|
|
92
|
-
}
|
|
93
|
-
return _slow_isSupertypeOf.call(this, Class, baseType);
|
|
94
|
-
}, hashBaseNode);
|
|
95
|
-
}
|
|
96
|
-
exports.construct_isSupertypeOf = construct_isSupertypeOf;
|
|
97
|
-
function construct_slow_isSupertypeOf(Class) {
|
|
98
|
-
return function (baseType) {
|
|
99
|
-
return _slow_isSupertypeOf.call(this, Class, baseType);
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
exports.construct_slow_isSupertypeOf = construct_slow_isSupertypeOf;
|
|
103
|
-
/**
|
|
104
|
-
* returns the nodeId of the Type which is the super type of this
|
|
105
|
-
*/
|
|
106
|
-
function get_subtypeOf() {
|
|
107
|
-
const s = get_subtypeOfObj.call(this);
|
|
108
|
-
return s ? s.nodeId : null;
|
|
109
|
-
}
|
|
110
|
-
exports.get_subtypeOf = get_subtypeOf;
|
|
111
|
-
function get_subtypeOfObj() {
|
|
112
|
-
const _cache = (0, base_node_private_1.BaseNode_getCache)(this);
|
|
113
|
-
if (!_cache._subtypeOfObj) {
|
|
114
|
-
const is_subtype_of_ref = this.findReference("HasSubtype", false);
|
|
115
|
-
if (is_subtype_of_ref) {
|
|
116
|
-
_cache._subtypeOfObj = reference_impl_1.ReferenceImpl.resolveReferenceNode(this.addressSpace, is_subtype_of_ref);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
_cache._subtypeOfObj = null;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return _cache._subtypeOfObj;
|
|
123
|
-
}
|
|
124
|
-
exports.get_subtypeOfObj = get_subtypeOfObj;
|
|
125
|
-
//# sourceMappingURL=tool_isSupertypeOf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool_isSupertypeOf.js","sourceRoot":"","sources":["../../src/tool_isSupertypeOf.ts"],"names":[],"mappings":"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"}
|
package/generate.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
// nothing
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import * as fs from "fs";
|
|
2
|
-
import { callbackify } from "util";
|
|
3
|
-
|
|
4
|
-
import { checkDebugFlag, make_debugLog, make_errorLog } from "node-opcua-debug";
|
|
5
|
-
import { IAddressSpace } from "node-opcua-address-space-base";
|
|
6
|
-
|
|
7
|
-
import { generateAddressSpaceRaw } from "..";
|
|
8
|
-
import { NodeSetLoaderOptions } from "../source/interfaces/nodeset_loader_options";
|
|
9
|
-
|
|
10
|
-
const doDebug = checkDebugFlag(__filename);
|
|
11
|
-
const debugLog = make_debugLog(__filename);
|
|
12
|
-
const errorLog = make_errorLog(__filename);
|
|
13
|
-
|
|
14
|
-
export async function readNodeSet2XmlFile(xmlFile: string): Promise<string> {
|
|
15
|
-
// istanbul ignore next
|
|
16
|
-
if (!fs.existsSync(xmlFile)) {
|
|
17
|
-
const msg = "[NODE-OPCUA-E02] generateAddressSpace : cannot find nodeset2 xml file at " + xmlFile;
|
|
18
|
-
errorLog(msg);
|
|
19
|
-
throw new Error(msg);
|
|
20
|
-
}
|
|
21
|
-
debugLog(" parsing ", xmlFile);
|
|
22
|
-
const xmlData = await fs.promises.readFile(xmlFile, "utf-8");
|
|
23
|
-
return xmlData;
|
|
24
|
-
}
|
|
25
|
-
export function generateAddressSpace(
|
|
26
|
-
addressSpace: IAddressSpace,
|
|
27
|
-
xmlFiles: string | string[],
|
|
28
|
-
callback: (err?: Error) => void
|
|
29
|
-
): void;
|
|
30
|
-
export function generateAddressSpace(
|
|
31
|
-
addressSpace: IAddressSpace,
|
|
32
|
-
xmlFiles: string | string[],
|
|
33
|
-
options: NodeSetLoaderOptions | undefined,
|
|
34
|
-
callback: (err?: Error) => void
|
|
35
|
-
): void;
|
|
36
|
-
export function generateAddressSpace(
|
|
37
|
-
addressSpace: IAddressSpace,
|
|
38
|
-
xmlFiles: string | string[],
|
|
39
|
-
options?: NodeSetLoaderOptions
|
|
40
|
-
): Promise<void>;
|
|
41
|
-
export function generateAddressSpace(
|
|
42
|
-
... args: any[]
|
|
43
|
-
): any {
|
|
44
|
-
const addressSpace = args[0] as IAddressSpace;
|
|
45
|
-
const xmlFiles = args[1] as string | string[];
|
|
46
|
-
if (args.length === 4) {
|
|
47
|
-
const options = args[2] as NodeSetLoaderOptions | undefined;
|
|
48
|
-
const callback = args[3] as (err?: Error) => void;
|
|
49
|
-
callbackify(generateAddressSpaceRaw)(addressSpace, xmlFiles, readNodeSet2XmlFile, options ||{}, callback!);
|
|
50
|
-
} else {
|
|
51
|
-
const options = {};
|
|
52
|
-
const callback = args[2] as (err?: Error) => void;
|
|
53
|
-
callbackify(generateAddressSpaceRaw)(addressSpace, xmlFiles, readNodeSet2XmlFile, options, callback!);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// tslint:disable:no-var-requires
|
|
58
|
-
// tslint:disable:max-line-length
|
|
59
|
-
const thenify = require("thenify");
|
|
60
|
-
(module.exports as any).generateAddressSpace = thenify.withCallback((module.exports as any).generateAddressSpace);
|
package/source_nodejs/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./generate_address_space";
|