moonbridge-ts 0.1.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/.eslintignore +5 -0
- package/.eslintrc.cjs +27 -0
- package/.prettierignore +5 -0
- package/.prettierrc +7 -0
- package/DEPENDENCIES.md +8 -0
- package/README.md +303 -0
- package/dist/bridge_module-2N398tJq.d.ts +126 -0
- package/dist/bridge_module-Dd27cxv9.d.mts +126 -0
- package/dist/index.d.mts +30 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +5 -0
- package/dist/index.mjs.map +1 -0
- package/dist/ipc_client_component_provider-CayqZGuB.d.ts +205 -0
- package/dist/ipc_client_component_provider-kXpa5anm.d.mts +205 -0
- package/dist/moonbridge/annotation/decorators.d.mts +48 -0
- package/dist/moonbridge/annotation/decorators.d.ts +43 -0
- package/dist/moonbridge/annotation/decorators.d.ts.map +1 -0
- package/dist/moonbridge/annotation/decorators.js +55 -0
- package/dist/moonbridge/annotation/decorators.js.map +1 -0
- package/dist/moonbridge/annotation/decorators.mjs +52 -0
- package/dist/moonbridge/annotation/decorators.mjs.map +1 -0
- package/dist/moonbridge/annotation/registry.d.mts +77 -0
- package/dist/moonbridge/annotation/registry.d.ts +72 -0
- package/dist/moonbridge/annotation/registry.d.ts.map +1 -0
- package/dist/moonbridge/annotation/registry.js +79 -0
- package/dist/moonbridge/annotation/registry.js.map +1 -0
- package/dist/moonbridge/annotation/registry.mjs +77 -0
- package/dist/moonbridge/annotation/registry.mjs.map +1 -0
- package/dist/moonbridge/index.d.mts +7 -0
- package/dist/moonbridge/index.d.ts +6 -0
- package/dist/moonbridge/index.d.ts.map +1 -0
- package/dist/moonbridge/index.js +42 -0
- package/dist/moonbridge/index.js.map +1 -0
- package/dist/moonbridge/index.mjs +7 -0
- package/dist/moonbridge/index.mjs.map +1 -0
- package/dist/moonbridge/kernel/bridge.d.mts +4 -0
- package/dist/moonbridge/kernel/bridge.d.ts +22 -0
- package/dist/moonbridge/kernel/bridge.d.ts.map +1 -0
- package/dist/moonbridge/kernel/bridge.js +4 -0
- package/dist/moonbridge/kernel/bridge.js.map +1 -0
- package/dist/moonbridge/kernel/bridge.mjs +3 -0
- package/dist/moonbridge/kernel/bridge.mjs.map +1 -0
- package/dist/moonbridge/kernel/bridge_module.d.mts +4 -0
- package/dist/moonbridge/kernel/bridge_module.d.ts +53 -0
- package/dist/moonbridge/kernel/bridge_module.d.ts.map +1 -0
- package/dist/moonbridge/kernel/bridge_module.js +22 -0
- package/dist/moonbridge/kernel/bridge_module.js.map +1 -0
- package/dist/moonbridge/kernel/bridge_module.mjs +20 -0
- package/dist/moonbridge/kernel/bridge_module.mjs.map +1 -0
- package/dist/moonbridge/kernel/executor.d.mts +4 -0
- package/dist/moonbridge/kernel/executor.d.ts +24 -0
- package/dist/moonbridge/kernel/executor.d.ts.map +1 -0
- package/dist/moonbridge/kernel/executor.js +22 -0
- package/dist/moonbridge/kernel/executor.js.map +1 -0
- package/dist/moonbridge/kernel/executor.mjs +20 -0
- package/dist/moonbridge/kernel/executor.mjs.map +1 -0
- package/dist/moonbridge/kernel/result_callback.d.mts +19 -0
- package/dist/moonbridge/kernel/result_callback.d.ts +18 -0
- package/dist/moonbridge/kernel/result_callback.d.ts.map +1 -0
- package/dist/moonbridge/kernel/result_callback.js +4 -0
- package/dist/moonbridge/kernel/result_callback.js.map +1 -0
- package/dist/moonbridge/kernel/result_callback.mjs +3 -0
- package/dist/moonbridge/kernel/result_callback.mjs.map +1 -0
- package/dist/moonbridge/logger/logger.d.mts +55 -0
- package/dist/moonbridge/logger/logger.d.ts +54 -0
- package/dist/moonbridge/logger/logger.d.ts.map +1 -0
- package/dist/moonbridge/logger/logger.js +67 -0
- package/dist/moonbridge/logger/logger.js.map +1 -0
- package/dist/moonbridge/logger/logger.mjs +65 -0
- package/dist/moonbridge/logger/logger.mjs.map +1 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.d.mts +18 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.d.ts +16 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.d.ts.map +1 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.js +29 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.js.map +1 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.mjs +27 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.mjs.map +1 -0
- package/dist/moonbridge/message/message.d.mts +13 -0
- package/dist/moonbridge/message/message.d.ts +12 -0
- package/dist/moonbridge/message/message.d.ts.map +1 -0
- package/dist/moonbridge/message/message.js +4 -0
- package/dist/moonbridge/message/message.js.map +1 -0
- package/dist/moonbridge/message/message.mjs +3 -0
- package/dist/moonbridge/message/message.mjs.map +1 -0
- package/dist/moonbridge/message/message_parser.d.mts +28 -0
- package/dist/moonbridge/message/message_parser.d.ts +26 -0
- package/dist/moonbridge/message/message_parser.d.ts.map +1 -0
- package/dist/moonbridge/message/message_parser.js +11 -0
- package/dist/moonbridge/message/message_parser.js.map +1 -0
- package/dist/moonbridge/message/message_parser.mjs +8 -0
- package/dist/moonbridge/message/message_parser.mjs.map +1 -0
- package/dist/moonbridge/message/message_parser_manager.d.mts +21 -0
- package/dist/moonbridge/message/message_parser_manager.d.ts +19 -0
- package/dist/moonbridge/message/message_parser_manager.d.ts.map +1 -0
- package/dist/moonbridge/message/message_parser_manager.js +60 -0
- package/dist/moonbridge/message/message_parser_manager.js.map +1 -0
- package/dist/moonbridge/message/message_parser_manager.mjs +58 -0
- package/dist/moonbridge/message/message_parser_manager.mjs.map +1 -0
- package/dist/moonbridge/module/method_invoker.d.mts +43 -0
- package/dist/moonbridge/module/method_invoker.d.ts +38 -0
- package/dist/moonbridge/module/method_invoker.d.ts.map +1 -0
- package/dist/moonbridge/module/method_invoker.js +68 -0
- package/dist/moonbridge/module/method_invoker.js.map +1 -0
- package/dist/moonbridge/module/method_invoker.mjs +65 -0
- package/dist/moonbridge/module/method_invoker.mjs.map +1 -0
- package/dist/moonbridge/module/module_creator.d.mts +4 -0
- package/dist/moonbridge/module/module_creator.d.ts +28 -0
- package/dist/moonbridge/module/module_creator.d.ts.map +1 -0
- package/dist/moonbridge/module/module_creator.js +45 -0
- package/dist/moonbridge/module/module_creator.js.map +1 -0
- package/dist/moonbridge/module/module_creator.mjs +43 -0
- package/dist/moonbridge/module/module_creator.mjs.map +1 -0
- package/dist/moonbridge/utils/logger.d.mts +9 -0
- package/dist/moonbridge/utils/logger.d.ts +6 -0
- package/dist/moonbridge/utils/logger.d.ts.map +1 -0
- package/dist/moonbridge/utils/logger.js +9 -0
- package/dist/moonbridge/utils/logger.js.map +1 -0
- package/dist/moonbridge/utils/logger.mjs +7 -0
- package/dist/moonbridge/utils/logger.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.d.ts +41 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.js +45 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.mjs +43 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.d.mts +68 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.d.ts +47 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.js +163 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.mjs +161 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.d.ts +37 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.js +161 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.mjs +159 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.d.ts +59 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.js +364 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.mjs +362 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.d.ts +28 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.js +102 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.mjs +100 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.d.ts +16 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.js +62 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.mjs +60 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.d.ts +27 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.js +4 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.mjs +3 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.d.ts +15 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.js +56 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.mjs +54 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.d.mts +54 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.d.ts +40 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.js +102 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.mjs +100 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.d.mts +90 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.d.ts +82 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.js +55 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.mjs +53 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.d.mts +134 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.d.ts +124 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.js +156 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.js.map +1 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.mjs +153 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.d.mts +29 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.d.ts +26 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.js +12 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.js.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.mjs +10 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.d.mts +17 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.d.ts +16 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.js +18 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.js.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.mjs +16 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.d.mts +45 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.d.ts +38 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.js +4 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.js.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.mjs +3 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.d.mts +52 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.d.ts +49 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.js +20 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.js.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.mjs +17 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.mjs.map +1 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.d.mts +33 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.d.ts +15 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.d.ts.map +1 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.js +31 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.js.map +1 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.mjs +29 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.d.mts +23 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.d.ts +20 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.js +4 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.mjs +3 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.d.mts +34 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.d.ts +33 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.js +70 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.mjs +66 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.d.mts +19 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.d.ts +16 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.js +19 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.mjs +17 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.d.mts +37 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.d.ts +34 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.js +116 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.mjs +114 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.d.mts +32 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.d.ts +29 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.js +60 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.mjs +58 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.d.mts +40 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.d.ts +39 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.js +41 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.mjs +38 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.d.mts +14 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.d.ts +13 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.js +13 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.mjs +8 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.d.mts +27 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.d.ts +26 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.js +28 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.mjs +24 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.d.mts +28 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.d.ts +25 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.js +49 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.mjs +47 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.d.mts +46 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.d.ts +44 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.js +47 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.mjs +45 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.d.mts +41 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.d.ts +40 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.js +65 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.js.map +1 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.mjs +62 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.d.mts +33 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.d.ts +30 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.js +32 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.js.map +1 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.mjs +30 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.d.mts +29 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.d.ts +26 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.js +118 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.js.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.mjs +116 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.d.mts +29 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.d.ts +26 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.js +93 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.js.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.mjs +91 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.d.mts +28 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.d.ts +27 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.js +30 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.js.map +1 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.mjs +28 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/index.d.mts +10 -0
- package/dist/moonbridge-ipc/general/index.d.ts +10 -0
- package/dist/moonbridge-ipc/general/index.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/index.js +70 -0
- package/dist/moonbridge-ipc/general/index.js.map +1 -0
- package/dist/moonbridge-ipc/general/index.mjs +11 -0
- package/dist/moonbridge-ipc/general/index.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.d.mts +26 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.d.ts +23 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.js +48 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.js.map +1 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.mjs +46 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/lock/lock.d.mts +10 -0
- package/dist/moonbridge-ipc/general/lock/lock.d.ts +9 -0
- package/dist/moonbridge-ipc/general/lock/lock.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/lock/lock.js +4 -0
- package/dist/moonbridge-ipc/general/lock/lock.js.map +1 -0
- package/dist/moonbridge-ipc/general/lock/lock.mjs +3 -0
- package/dist/moonbridge-ipc/general/lock/lock.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.d.mts +19 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.d.ts +18 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.js +19 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.mjs +17 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/error.d.mts +14 -0
- package/dist/moonbridge-ipc/general/message/error.d.ts +13 -0
- package/dist/moonbridge-ipc/general/message/error.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/error.js +16 -0
- package/dist/moonbridge-ipc/general/message/error.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/error.mjs +14 -0
- package/dist/moonbridge-ipc/general/message/error.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/event.d.mts +11 -0
- package/dist/moonbridge-ipc/general/message/event.d.ts +10 -0
- package/dist/moonbridge-ipc/general/message/event.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/event.js +13 -0
- package/dist/moonbridge-ipc/general/message/event.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/event.mjs +11 -0
- package/dist/moonbridge-ipc/general/message/event.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/handshake.d.mts +16 -0
- package/dist/moonbridge-ipc/general/message/handshake.d.ts +15 -0
- package/dist/moonbridge-ipc/general/message/handshake.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/handshake.js +18 -0
- package/dist/moonbridge-ipc/general/message/handshake.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/handshake.mjs +16 -0
- package/dist/moonbridge-ipc/general/message/handshake.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/ping.d.mts +9 -0
- package/dist/moonbridge-ipc/general/message/ping.d.ts +8 -0
- package/dist/moonbridge-ipc/general/message/ping.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/ping.js +11 -0
- package/dist/moonbridge-ipc/general/message/ping.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/ping.mjs +9 -0
- package/dist/moonbridge-ipc/general/message/ping.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/registration.d.mts +9 -0
- package/dist/moonbridge-ipc/general/message/registration.d.ts +8 -0
- package/dist/moonbridge-ipc/general/message/registration.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/registration.js +11 -0
- package/dist/moonbridge-ipc/general/message/registration.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/registration.mjs +9 -0
- package/dist/moonbridge-ipc/general/message/registration.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/request.d.mts +15 -0
- package/dist/moonbridge-ipc/general/message/request.d.ts +14 -0
- package/dist/moonbridge-ipc/general/message/request.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/request.js +16 -0
- package/dist/moonbridge-ipc/general/message/request.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/request.mjs +14 -0
- package/dist/moonbridge-ipc/general/message/request.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/response.d.mts +14 -0
- package/dist/moonbridge-ipc/general/message/response.d.ts +13 -0
- package/dist/moonbridge-ipc/general/message/response.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/response.js +16 -0
- package/dist/moonbridge-ipc/general/message/response.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/response.mjs +14 -0
- package/dist/moonbridge-ipc/general/message/response.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/session_setup.d.mts +23 -0
- package/dist/moonbridge-ipc/general/message/session_setup.d.ts +22 -0
- package/dist/moonbridge-ipc/general/message/session_setup.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/session_setup.js +27 -0
- package/dist/moonbridge-ipc/general/message/session_setup.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/session_setup.mjs +24 -0
- package/dist/moonbridge-ipc/general/message/session_setup.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/unregistration.d.mts +9 -0
- package/dist/moonbridge-ipc/general/message/unregistration.d.ts +8 -0
- package/dist/moonbridge-ipc/general/message/unregistration.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/unregistration.js +11 -0
- package/dist/moonbridge-ipc/general/message/unregistration.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/unregistration.mjs +9 -0
- package/dist/moonbridge-ipc/general/message/unregistration.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.d.mts +26 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.d.ts +25 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.js +112 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.mjs +109 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.d.mts +40 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.d.ts +39 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.js +4 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.mjs +3 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.d.mts +23 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.d.ts +20 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.js +35 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.mjs +27 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.d.mts +44 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.d.ts +43 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.js +4 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.mjs +3 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.d.mts +27 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.d.ts +24 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.js +43 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.mjs +33 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.d.mts +36 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.d.ts +33 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.js +109 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.mjs +107 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.d.mts +44 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.d.ts +41 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.js +109 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.mjs +107 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.d.mts +71 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.d.ts +68 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.js +155 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.mjs +151 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.mjs.map +1 -0
- package/dist/moonbridge-ipc/index.d.mts +26 -0
- package/dist/moonbridge-ipc/index.d.ts +10 -0
- package/dist/moonbridge-ipc/index.d.ts.map +1 -0
- package/dist/moonbridge-ipc/index.js +70 -0
- package/dist/moonbridge-ipc/index.js.map +1 -0
- package/dist/moonbridge-ipc/index.mjs +11 -0
- package/dist/moonbridge-ipc/index.mjs.map +1 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.d.mts +38 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.d.ts +35 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.d.ts.map +1 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.js +27 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.js.map +1 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.mjs +25 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.mjs.map +1 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.d.mts +33 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.d.ts +29 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.d.ts.map +1 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.js +39 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.js.map +1 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.mjs +37 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.mjs.map +1 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.d.mts +54 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.d.ts +49 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.d.ts.map +1 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.js +369 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.js.map +1 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.mjs +367 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.mjs.map +1 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.d.mts +76 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.d.ts +71 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.d.ts.map +1 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.js +101 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.js.map +1 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.mjs +97 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.mjs.map +1 -0
- package/dist/moonbridge-ipc/utils/env.d.mts +7 -0
- package/dist/moonbridge-ipc/utils/env.d.ts +6 -0
- package/dist/moonbridge-ipc/utils/env.d.ts.map +1 -0
- package/dist/moonbridge-ipc/utils/env.js +9 -0
- package/dist/moonbridge-ipc/utils/env.js.map +1 -0
- package/dist/moonbridge-ipc/utils/env.mjs +7 -0
- package/dist/moonbridge-ipc/utils/env.mjs.map +1 -0
- package/dist/moonbridge-ipc/utils/logger.d.mts +9 -0
- package/dist/moonbridge-ipc/utils/logger.d.ts +6 -0
- package/dist/moonbridge-ipc/utils/logger.d.ts.map +1 -0
- package/dist/moonbridge-ipc/utils/logger.js +9 -0
- package/dist/moonbridge-ipc/utils/logger.js.map +1 -0
- package/dist/moonbridge-ipc/utils/logger.mjs +7 -0
- package/dist/moonbridge-ipc/utils/logger.mjs.map +1 -0
- package/dist/moonbridge-ipc/utils/string_utils.d.mts +10 -0
- package/dist/moonbridge-ipc/utils/string_utils.d.ts +9 -0
- package/dist/moonbridge-ipc/utils/string_utils.d.ts.map +1 -0
- package/dist/moonbridge-ipc/utils/string_utils.js +14 -0
- package/dist/moonbridge-ipc/utils/string_utils.js.map +1 -0
- package/dist/moonbridge-ipc/utils/string_utils.mjs +12 -0
- package/dist/moonbridge-ipc/utils/string_utils.mjs.map +1 -0
- package/dist/wps-launcher/index.d.mts +3 -0
- package/dist/wps-launcher/index.d.ts +5 -0
- package/dist/wps-launcher/index.d.ts.map +1 -0
- package/dist/wps-launcher/index.js +14 -0
- package/dist/wps-launcher/index.js.map +1 -0
- package/dist/wps-launcher/index.mjs +3 -0
- package/dist/wps-launcher/index.mjs.map +1 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.d.mts +61 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.d.ts +58 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.d.ts.map +1 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.js +83 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.js.map +1 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.mjs +81 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.mjs.map +1 -0
- package/docs/REFACTOR_SCOPE.md +53 -0
- package/docs/ROADMAP.md +143 -0
- package/docs/STRUCTURE.md +47 -0
- package/package.json +64 -0
- package/src/index.ts +3 -0
- package/src/moonbridge/annotation/decorators.ts +109 -0
- package/src/moonbridge/annotation/registry.ts +118 -0
- package/src/moonbridge/index.ts +5 -0
- package/src/moonbridge/kernel/bridge.ts +28 -0
- package/src/moonbridge/kernel/bridge_module.ts +38 -0
- package/src/moonbridge/kernel/executor.ts +41 -0
- package/src/moonbridge/kernel/result_callback.ts +19 -0
- package/src/moonbridge/logger/logger.ts +95 -0
- package/src/moonbridge/message/internal/generic_message_parser.internal.ts +39 -0
- package/src/moonbridge/message/message.ts +16 -0
- package/src/moonbridge/message/message_parser.ts +31 -0
- package/src/moonbridge/message/message_parser_manager.ts +96 -0
- package/src/moonbridge/module/method_invoker.ts +90 -0
- package/src/moonbridge/module/module_creator.ts +60 -0
- package/src/moonbridge/utils/logger.ts +6 -0
- package/src/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.ts +74 -0
- package/src/moonbridge-ipc/client/internal/bridge/ipc_client_executor.ts +208 -0
- package/src/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.ts +226 -0
- package/src/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.ts +454 -0
- package/src/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.ts +147 -0
- package/src/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.ts +75 -0
- package/src/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.ts +28 -0
- package/src/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.ts +70 -0
- package/src/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.ts +154 -0
- package/src/moonbridge-ipc/client/internal/settings/ipc_client_settings.ts +142 -0
- package/src/moonbridge-ipc/client/moonbridge_ipc_client.ts +222 -0
- package/src/moonbridge-ipc/client/types/ipc_event_bus.ts +28 -0
- package/src/moonbridge-ipc/client/types/ipc_message_strategy.ts +21 -0
- package/src/moonbridge-ipc/client/types/ipc_messenger.ts +42 -0
- package/src/moonbridge-ipc/client/types/ipc_types.ts +50 -0
- package/src/moonbridge-ipc/extension/bridge_extension.ts +32 -0
- package/src/moonbridge-ipc/general/app_launch/app_launcher.ts +21 -0
- package/src/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.ts +97 -0
- package/src/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.ts +23 -0
- package/src/moonbridge-ipc/general/app_launch/launcher/node_launcher.ts +138 -0
- package/src/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.ts +83 -0
- package/src/moonbridge-ipc/general/app_launch/model/app_info.ts +57 -0
- package/src/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.ts +16 -0
- package/src/moonbridge-ipc/general/app_launch/model/app_launch_models.ts +35 -0
- package/src/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.ts +65 -0
- package/src/moonbridge-ipc/general/app_launch/platform_app_launcher.ts +89 -0
- package/src/moonbridge-ipc/general/config/port_candidate_rule.ts +81 -0
- package/src/moonbridge-ipc/general/config/websocket_server_endpoint.ts +48 -0
- package/src/moonbridge-ipc/general/encode/ipc_message_decoder.ts +122 -0
- package/src/moonbridge-ipc/general/encode/ipc_message_encoder.ts +108 -0
- package/src/moonbridge-ipc/general/error/ipc_error.ts +28 -0
- package/src/moonbridge-ipc/general/index.ts +9 -0
- package/src/moonbridge-ipc/general/lock/async_lock.ts +58 -0
- package/src/moonbridge-ipc/general/lock/lock.ts +9 -0
- package/src/moonbridge-ipc/general/message/constants/message_types.ts +18 -0
- package/src/moonbridge-ipc/general/message/error.ts +13 -0
- package/src/moonbridge-ipc/general/message/event.ts +10 -0
- package/src/moonbridge-ipc/general/message/handshake.ts +16 -0
- package/src/moonbridge-ipc/general/message/ping.ts +6 -0
- package/src/moonbridge-ipc/general/message/registration.ts +6 -0
- package/src/moonbridge-ipc/general/message/request.ts +14 -0
- package/src/moonbridge-ipc/general/message/response.ts +13 -0
- package/src/moonbridge-ipc/general/message/session_setup.ts +25 -0
- package/src/moonbridge-ipc/general/message/unregistration.ts +6 -0
- package/src/moonbridge-ipc/general/transport/encode/data_frame_codec.ts +148 -0
- package/src/moonbridge-ipc/general/transport/interface/serial_message_channel.ts +49 -0
- package/src/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.ts +45 -0
- package/src/moonbridge-ipc/general/transport/interface/transport_client.ts +44 -0
- package/src/moonbridge-ipc/general/transport/interface/transport_client_extension.ts +52 -0
- package/src/moonbridge-ipc/general/transport/websocket/websocket_client.ts +130 -0
- package/src/moonbridge-ipc/general/transport/websocket/websocket_message_channel.ts +145 -0
- package/src/moonbridge-ipc/general/transport/websocket/websocket_server.ts +205 -0
- package/src/moonbridge-ipc/index.ts +9 -0
- package/src/moonbridge-ipc/server/credential/client_identity.ts +54 -0
- package/src/moonbridge-ipc/server/internal/identity/client_identity_manager.ts +42 -0
- package/src/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.ts +441 -0
- package/src/moonbridge-ipc/server/moonbridge_ipc_server.ts +149 -0
- package/src/moonbridge-ipc/utils/env.ts +7 -0
- package/src/moonbridge-ipc/utils/logger.ts +6 -0
- package/src/moonbridge-ipc/utils/string_utils.ts +21 -0
- package/src/wps-launcher/index.ts +4 -0
- package/src/wps-launcher/launcher/wps_app_launcher.ts +135 -0
- package/tests/integration/.gitkeep +0 -0
- package/tests/integration/moonbridge_ipc_server_client.test.ts +64 -0
- package/tests/unit/.gitkeep +0 -0
- package/tests/unit/app_launcher.test.ts +32 -0
- package/tests/unit/data_frame_codec.test.ts +72 -0
- package/tests/unit/event_bus.test.ts +39 -0
- package/tests/unit/handler_registry.test.ts +34 -0
- package/tests/unit/handshake.test.ts +47 -0
- package/tests/unit/heartbeat.test.ts +18 -0
- package/tests/unit/interceptors.test.ts +43 -0
- package/tests/unit/ipc_connection_manager.handshake.test.ts +72 -0
- package/tests/unit/moonbridge_ipc_server.test.ts +78 -0
- package/tests/unit/result_callback.test.ts +49 -0
- package/tests/unit/websocket_server.test.ts +101 -0
- package/tsconfig.json +36 -0
- package/tsup.config.ts +15 -0
- package/vitest.config.ts +13 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { WebSocketServerEndpoint } from '../general/config/websocket_server_endpoint.mjs';
|
|
2
|
+
import { AppInstallationPath, AppLaunchIdentifier } from '../general/app_launch/model/app_info.mjs';
|
|
3
|
+
import { AppLauncher } from '../general/app_launch/app_launcher.mjs';
|
|
4
|
+
import { IpcMessageStrategy } from './types/ipc_message_strategy.mjs';
|
|
5
|
+
import { IpcConnectionCompletionHandler, MessageInterceptor, ConnectionObserver } from './types/ipc_types.mjs';
|
|
6
|
+
import { EventBus } from './types/ipc_event_bus.mjs';
|
|
7
|
+
import { Messenger } from './types/ipc_messenger.mjs';
|
|
8
|
+
import '../general/config/port_candidate_rule.mjs';
|
|
9
|
+
import '../general/app_launch/model/app_launch_models.mjs';
|
|
10
|
+
import '../general/error/ipc_error.mjs';
|
|
11
|
+
import '../general/message/request.mjs';
|
|
12
|
+
import '../general/message/response.mjs';
|
|
13
|
+
import '../general/message/error.mjs';
|
|
14
|
+
import '../general/message/event.mjs';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* MoonBridge IPC 客户端入口类,对应 Flutter lib/client/moonbridge_ipc_client.dart。
|
|
18
|
+
* 定义连接管理、消息发送与事件总线等公开 API;不含 RPC(JS 端不实现)。
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/** MoonBridge IPC 客户端抽象接口 */
|
|
22
|
+
interface MoonBridgeIpcClient {
|
|
23
|
+
/**
|
|
24
|
+
* 连接到 IPC 服务器
|
|
25
|
+
*/
|
|
26
|
+
connect(onResult?: IpcConnectionCompletionHandler): void;
|
|
27
|
+
/**
|
|
28
|
+
* 断开与 IPC 服务器的连接
|
|
29
|
+
*/
|
|
30
|
+
disconnect(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* 检查是否已连接到 IPC 服务器
|
|
33
|
+
*/
|
|
34
|
+
isConnected(): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* 客户端名称
|
|
37
|
+
*/
|
|
38
|
+
readonly clientName: string;
|
|
39
|
+
/**
|
|
40
|
+
* 消息发送器
|
|
41
|
+
*/
|
|
42
|
+
readonly messenger: Messenger;
|
|
43
|
+
/**
|
|
44
|
+
* 事件总线
|
|
45
|
+
*/
|
|
46
|
+
readonly eventBus: EventBus;
|
|
47
|
+
}
|
|
48
|
+
/** 构造器,用于链式配置并构建客户端实例 */
|
|
49
|
+
declare class MoonBridgeIpcClientBuilder {
|
|
50
|
+
private _clientName;
|
|
51
|
+
private _webSocketServerEndpoint?;
|
|
52
|
+
private _serverInstallationPath?;
|
|
53
|
+
private _serverLaunchIdentifier?;
|
|
54
|
+
private _enableHeartbeat?;
|
|
55
|
+
private _heartbeatIntervalMs?;
|
|
56
|
+
private _messageStrategy?;
|
|
57
|
+
private _messageInterceptor?;
|
|
58
|
+
private _connectionObserver?;
|
|
59
|
+
private _appLauncher?;
|
|
60
|
+
/**
|
|
61
|
+
* 创建客户端构建器
|
|
62
|
+
*/
|
|
63
|
+
static builder(): MoonBridgeIpcClientBuilder;
|
|
64
|
+
/**
|
|
65
|
+
* 设置客户端名称
|
|
66
|
+
*/
|
|
67
|
+
clientName(name: string): this;
|
|
68
|
+
/**
|
|
69
|
+
* 设置 WebSocket 连接配置
|
|
70
|
+
*/
|
|
71
|
+
useWebSocketChannel(endpoint: WebSocketServerEndpoint | undefined): this;
|
|
72
|
+
/**
|
|
73
|
+
* 设置服务器应用路径
|
|
74
|
+
*/
|
|
75
|
+
serverInstallationPath(path: AppInstallationPath): this;
|
|
76
|
+
/**
|
|
77
|
+
* 设置服务器应用标识符
|
|
78
|
+
*/
|
|
79
|
+
serverLaunchIdentifier(identifier: AppLaunchIdentifier): this;
|
|
80
|
+
/**
|
|
81
|
+
* 设置是否启用心跳检测
|
|
82
|
+
*/
|
|
83
|
+
enableHeartbeat(enable: boolean): this;
|
|
84
|
+
/**
|
|
85
|
+
* 设置心跳检测间隔时间
|
|
86
|
+
*/
|
|
87
|
+
heartbeatIntervalMs(ms: number): this;
|
|
88
|
+
/**
|
|
89
|
+
* 设置消息策略
|
|
90
|
+
*/
|
|
91
|
+
messageStrategy(strategy: IpcMessageStrategy): this;
|
|
92
|
+
/**
|
|
93
|
+
* 设置消息拦截器
|
|
94
|
+
*/
|
|
95
|
+
messageInterceptor(interceptor?: MessageInterceptor): this;
|
|
96
|
+
/**
|
|
97
|
+
* 设置连接状态观察者
|
|
98
|
+
*/
|
|
99
|
+
connectionObserver(observer?: ConnectionObserver): this;
|
|
100
|
+
/**
|
|
101
|
+
* 注入应用启动器
|
|
102
|
+
* 用于覆盖默认的唤醒方式(如 wps-addin 通过 URL Scheme 唤起)
|
|
103
|
+
*/
|
|
104
|
+
appLauncher(launcher: AppLauncher | undefined): this;
|
|
105
|
+
/**
|
|
106
|
+
* 构建客户端实例并可选注册为默认客户端。
|
|
107
|
+
*/
|
|
108
|
+
build(makeDefault?: boolean): MoonBridgeIpcClient;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* 客户端注册表单例
|
|
112
|
+
*/
|
|
113
|
+
declare class MoonBridgeIpcClientRegistry {
|
|
114
|
+
private static _instance;
|
|
115
|
+
private readonly _clientMap;
|
|
116
|
+
/**
|
|
117
|
+
* 获取客户端注册表单例
|
|
118
|
+
*/
|
|
119
|
+
static getInstance(): MoonBridgeIpcClientRegistry;
|
|
120
|
+
/**
|
|
121
|
+
* 设置默认客户端
|
|
122
|
+
*/
|
|
123
|
+
setDefault(client: MoonBridgeIpcClient): void;
|
|
124
|
+
/**
|
|
125
|
+
* 注册客户端
|
|
126
|
+
*/
|
|
127
|
+
register(client: MoonBridgeIpcClient): void;
|
|
128
|
+
/**
|
|
129
|
+
* 获取客户端
|
|
130
|
+
*/
|
|
131
|
+
get(clientName?: string): MoonBridgeIpcClient | undefined;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export { type MoonBridgeIpcClient, MoonBridgeIpcClientBuilder, MoonBridgeIpcClientRegistry };
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MoonBridge IPC 客户端入口类,对应 Flutter lib/client/moonbridge_ipc_client.dart。
|
|
3
|
+
* 定义连接管理、消息发送与事件总线等公开 API;不含 RPC(JS 端不实现)。
|
|
4
|
+
*/
|
|
5
|
+
import { WebSocketServerEndpoint } from '../general/config/websocket_server_endpoint';
|
|
6
|
+
import { AppInstallationPath, AppLaunchIdentifier } from '../general/app_launch/model/app_info';
|
|
7
|
+
import { AppLauncher } from '../general/app_launch/app_launcher';
|
|
8
|
+
import { IpcMessageStrategy } from './types/ipc_message_strategy';
|
|
9
|
+
import { ConnectionObserver, IpcConnectionCompletionHandler, MessageInterceptor } from './types/ipc_types';
|
|
10
|
+
import { EventBus } from './types/ipc_event_bus';
|
|
11
|
+
import { Messenger } from './types/ipc_messenger';
|
|
12
|
+
/** MoonBridge IPC 客户端抽象接口 */
|
|
13
|
+
export interface MoonBridgeIpcClient {
|
|
14
|
+
/**
|
|
15
|
+
* 连接到 IPC 服务器
|
|
16
|
+
*/
|
|
17
|
+
connect(onResult?: IpcConnectionCompletionHandler): void;
|
|
18
|
+
/**
|
|
19
|
+
* 断开与 IPC 服务器的连接
|
|
20
|
+
*/
|
|
21
|
+
disconnect(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* 检查是否已连接到 IPC 服务器
|
|
24
|
+
*/
|
|
25
|
+
isConnected(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* 客户端名称
|
|
28
|
+
*/
|
|
29
|
+
readonly clientName: string;
|
|
30
|
+
/**
|
|
31
|
+
* 消息发送器
|
|
32
|
+
*/
|
|
33
|
+
readonly messenger: Messenger;
|
|
34
|
+
/**
|
|
35
|
+
* 事件总线
|
|
36
|
+
*/
|
|
37
|
+
readonly eventBus: EventBus;
|
|
38
|
+
}
|
|
39
|
+
/** 构造器,用于链式配置并构建客户端实例 */
|
|
40
|
+
export declare class MoonBridgeIpcClientBuilder {
|
|
41
|
+
private _clientName;
|
|
42
|
+
private _webSocketServerEndpoint?;
|
|
43
|
+
private _serverInstallationPath?;
|
|
44
|
+
private _serverLaunchIdentifier?;
|
|
45
|
+
private _enableHeartbeat?;
|
|
46
|
+
private _heartbeatIntervalMs?;
|
|
47
|
+
private _messageStrategy?;
|
|
48
|
+
private _messageInterceptor?;
|
|
49
|
+
private _connectionObserver?;
|
|
50
|
+
private _appLauncher?;
|
|
51
|
+
/**
|
|
52
|
+
* 创建客户端构建器
|
|
53
|
+
*/
|
|
54
|
+
static builder(): MoonBridgeIpcClientBuilder;
|
|
55
|
+
/**
|
|
56
|
+
* 设置客户端名称
|
|
57
|
+
*/
|
|
58
|
+
clientName(name: string): this;
|
|
59
|
+
/**
|
|
60
|
+
* 设置 WebSocket 连接配置
|
|
61
|
+
*/
|
|
62
|
+
useWebSocketChannel(endpoint: WebSocketServerEndpoint | undefined): this;
|
|
63
|
+
/**
|
|
64
|
+
* 设置服务器应用路径
|
|
65
|
+
*/
|
|
66
|
+
serverInstallationPath(path: AppInstallationPath): this;
|
|
67
|
+
/**
|
|
68
|
+
* 设置服务器应用标识符
|
|
69
|
+
*/
|
|
70
|
+
serverLaunchIdentifier(identifier: AppLaunchIdentifier): this;
|
|
71
|
+
/**
|
|
72
|
+
* 设置是否启用心跳检测
|
|
73
|
+
*/
|
|
74
|
+
enableHeartbeat(enable: boolean): this;
|
|
75
|
+
/**
|
|
76
|
+
* 设置心跳检测间隔时间
|
|
77
|
+
*/
|
|
78
|
+
heartbeatIntervalMs(ms: number): this;
|
|
79
|
+
/**
|
|
80
|
+
* 设置消息策略
|
|
81
|
+
*/
|
|
82
|
+
messageStrategy(strategy: IpcMessageStrategy): this;
|
|
83
|
+
/**
|
|
84
|
+
* 设置消息拦截器
|
|
85
|
+
*/
|
|
86
|
+
messageInterceptor(interceptor?: MessageInterceptor): this;
|
|
87
|
+
/**
|
|
88
|
+
* 设置连接状态观察者
|
|
89
|
+
*/
|
|
90
|
+
connectionObserver(observer?: ConnectionObserver): this;
|
|
91
|
+
/**
|
|
92
|
+
* 注入应用启动器
|
|
93
|
+
* 用于覆盖默认的唤醒方式(如 wps-addin 通过 URL Scheme 唤起)
|
|
94
|
+
*/
|
|
95
|
+
appLauncher(launcher: AppLauncher | undefined): this;
|
|
96
|
+
/**
|
|
97
|
+
* 构建客户端实例并可选注册为默认客户端。
|
|
98
|
+
*/
|
|
99
|
+
build(makeDefault?: boolean): MoonBridgeIpcClient;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* 客户端注册表单例
|
|
103
|
+
*/
|
|
104
|
+
export declare class MoonBridgeIpcClientRegistry {
|
|
105
|
+
private static _instance;
|
|
106
|
+
private readonly _clientMap;
|
|
107
|
+
/**
|
|
108
|
+
* 获取客户端注册表单例
|
|
109
|
+
*/
|
|
110
|
+
static getInstance(): MoonBridgeIpcClientRegistry;
|
|
111
|
+
/**
|
|
112
|
+
* 设置默认客户端
|
|
113
|
+
*/
|
|
114
|
+
setDefault(client: MoonBridgeIpcClient): void;
|
|
115
|
+
/**
|
|
116
|
+
* 注册客户端
|
|
117
|
+
*/
|
|
118
|
+
register(client: MoonBridgeIpcClient): void;
|
|
119
|
+
/**
|
|
120
|
+
* 获取客户端
|
|
121
|
+
*/
|
|
122
|
+
get(clientName?: string): MoonBridgeIpcClient | undefined;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=moonbridge_ipc_client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moonbridge_ipc_client.d.ts","sourceRoot":"","sources":["../../../src/moonbridge-ipc/client/moonbridge_ipc_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var ipc_client_settings = require('./internal/settings/ipc_client_settings');
|
|
4
|
+
var moonbridge_ipc_client_internal = require('./internal/moonbridge_ipc_client.internal');
|
|
5
|
+
|
|
6
|
+
class MoonBridgeIpcClientBuilder {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._clientName = "";
|
|
9
|
+
}
|
|
10
|
+
// PUBLIC METHODS
|
|
11
|
+
/**
|
|
12
|
+
* 创建客户端构建器
|
|
13
|
+
*/
|
|
14
|
+
static builder() {
|
|
15
|
+
return new MoonBridgeIpcClientBuilder();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 设置客户端名称
|
|
19
|
+
*/
|
|
20
|
+
clientName(name) {
|
|
21
|
+
this._clientName = name;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 设置 WebSocket 连接配置
|
|
26
|
+
*/
|
|
27
|
+
useWebSocketChannel(endpoint) {
|
|
28
|
+
this._webSocketServerEndpoint = endpoint;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 设置服务器应用路径
|
|
33
|
+
*/
|
|
34
|
+
serverInstallationPath(path) {
|
|
35
|
+
this._serverInstallationPath = path;
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 设置服务器应用标识符
|
|
40
|
+
*/
|
|
41
|
+
serverLaunchIdentifier(identifier) {
|
|
42
|
+
this._serverLaunchIdentifier = identifier;
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 设置是否启用心跳检测
|
|
47
|
+
*/
|
|
48
|
+
enableHeartbeat(enable) {
|
|
49
|
+
this._enableHeartbeat = enable;
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 设置心跳检测间隔时间
|
|
54
|
+
*/
|
|
55
|
+
heartbeatIntervalMs(ms) {
|
|
56
|
+
this._heartbeatIntervalMs = ms;
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 设置消息策略
|
|
61
|
+
*/
|
|
62
|
+
messageStrategy(strategy) {
|
|
63
|
+
this._messageStrategy = strategy;
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* 设置消息拦截器
|
|
68
|
+
*/
|
|
69
|
+
messageInterceptor(interceptor) {
|
|
70
|
+
this._messageInterceptor = interceptor;
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 设置连接状态观察者
|
|
75
|
+
*/
|
|
76
|
+
connectionObserver(observer) {
|
|
77
|
+
this._connectionObserver = observer;
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* 注入应用启动器
|
|
82
|
+
* 用于覆盖默认的唤醒方式(如 wps-addin 通过 URL Scheme 唤起)
|
|
83
|
+
*/
|
|
84
|
+
appLauncher(launcher) {
|
|
85
|
+
this._appLauncher = launcher;
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 构建客户端实例并可选注册为默认客户端。
|
|
90
|
+
*/
|
|
91
|
+
build(makeDefault = false) {
|
|
92
|
+
if (!this._clientName || this._clientName.trim() === "") {
|
|
93
|
+
throw new Error("clientName must be non-empty.");
|
|
94
|
+
}
|
|
95
|
+
if (!this._webSocketServerEndpoint) {
|
|
96
|
+
throw new Error(
|
|
97
|
+
"Call useWebSocketChannel to set the transport configuration."
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
const settings = new ipc_client_settings.IpcClientSettings({
|
|
101
|
+
clientName: this._clientName,
|
|
102
|
+
webSocketServerEndpoint: this._webSocketServerEndpoint,
|
|
103
|
+
serverInstallationPath: this._serverInstallationPath,
|
|
104
|
+
serverLaunchIdentifier: this._serverLaunchIdentifier,
|
|
105
|
+
enableHeartbeat: this._enableHeartbeat,
|
|
106
|
+
heartbeatIntervalMs: this._heartbeatIntervalMs,
|
|
107
|
+
messageStrategy: this._messageStrategy,
|
|
108
|
+
messageInterceptor: this._messageInterceptor,
|
|
109
|
+
connectionObserver: this._connectionObserver,
|
|
110
|
+
appLauncher: this._appLauncher
|
|
111
|
+
});
|
|
112
|
+
const client = new moonbridge_ipc_client_internal.RealMoonBridgeIpcClient(settings);
|
|
113
|
+
MoonBridgeIpcClientRegistry.getInstance().register(client);
|
|
114
|
+
if (makeDefault) {
|
|
115
|
+
MoonBridgeIpcClientRegistry.getInstance().setDefault(client);
|
|
116
|
+
}
|
|
117
|
+
return client;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
class MoonBridgeIpcClientRegistry {
|
|
121
|
+
constructor() {
|
|
122
|
+
this._clientMap = /* @__PURE__ */ new Map();
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 获取客户端注册表单例
|
|
126
|
+
*/
|
|
127
|
+
static getInstance() {
|
|
128
|
+
if (!MoonBridgeIpcClientRegistry._instance) {
|
|
129
|
+
MoonBridgeIpcClientRegistry._instance = new MoonBridgeIpcClientRegistry();
|
|
130
|
+
}
|
|
131
|
+
return MoonBridgeIpcClientRegistry._instance;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* 设置默认客户端
|
|
135
|
+
*/
|
|
136
|
+
setDefault(client) {
|
|
137
|
+
this._clientMap.set("__default__", client);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* 注册客户端
|
|
141
|
+
*/
|
|
142
|
+
register(client) {
|
|
143
|
+
this._clientMap.set(client.clientName, client);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* 获取客户端
|
|
147
|
+
*/
|
|
148
|
+
get(clientName) {
|
|
149
|
+
return this._clientMap.get(clientName != null ? clientName : "__default__");
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
exports.MoonBridgeIpcClientBuilder = MoonBridgeIpcClientBuilder;
|
|
154
|
+
exports.MoonBridgeIpcClientRegistry = MoonBridgeIpcClientRegistry;
|
|
155
|
+
//# sourceMappingURL=moonbridge_ipc_client.js.map
|
|
156
|
+
//# sourceMappingURL=moonbridge_ipc_client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/moonbridge-ipc/client/moonbridge_ipc_client.ts"],"names":["IpcClientSettings","RealMoonBridgeIpcClient"],"mappings":"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","file":"moonbridge_ipc_client.js","sourcesContent":["/**\n * MoonBridge IPC 客户端入口类,对应 Flutter lib/client/moonbridge_ipc_client.dart。\n * 定义连接管理、消息发送与事件总线等公开 API;不含 RPC(JS 端不实现)。\n */\n\nimport { WebSocketServerEndpoint } from '../general/config/websocket_server_endpoint';\nimport { AppInstallationPath, AppLaunchIdentifier } from '../general/app_launch/model/app_info';\nimport { AppLauncher } from '../general/app_launch/app_launcher';\nimport { IpcClientSettings } from './internal/settings/ipc_client_settings';\nimport { IpcMessageStrategy } from './types/ipc_message_strategy';\nimport { ConnectionObserver, IpcConnectionCompletionHandler, MessageInterceptor } from './types/ipc_types';\nimport { EventBus } from './types/ipc_event_bus';\nimport { Messenger } from './types/ipc_messenger';\nimport { RealMoonBridgeIpcClient } from './internal/moonbridge_ipc_client.internal';\n\n/** MoonBridge IPC 客户端抽象接口 */\nexport interface MoonBridgeIpcClient {\n /** \n * 连接到 IPC 服务器 \n */\n connect(onResult?: IpcConnectionCompletionHandler): void;\n /** \n * 断开与 IPC 服务器的连接 \n */\n disconnect(): Promise<void>;\n /** \n * 检查是否已连接到 IPC 服务器 \n */\n isConnected(): boolean;\n /** \n * 客户端名称 \n */\n readonly clientName: string;\n /** \n * 消息发送器 \n */\n readonly messenger: Messenger;\n /** \n * 事件总线 \n */\n readonly eventBus: EventBus;\n}\n\n// PUBLIC CLASS\n\n/** 构造器,用于链式配置并构建客户端实例 */\nexport class MoonBridgeIpcClientBuilder {\n private _clientName = '';\n private _webSocketServerEndpoint?: WebSocketServerEndpoint;\n private _serverInstallationPath?: AppInstallationPath;\n private _serverLaunchIdentifier?: AppLaunchIdentifier;\n private _enableHeartbeat?: boolean;\n private _heartbeatIntervalMs?: number;\n private _messageStrategy?: IpcMessageStrategy;\n private _messageInterceptor?: MessageInterceptor;\n private _connectionObserver?: ConnectionObserver;\n private _appLauncher?: AppLauncher;\n\n // PUBLIC METHODS\n\n /**\n * 创建客户端构建器 \n */\n static builder(): MoonBridgeIpcClientBuilder {\n return new MoonBridgeIpcClientBuilder();\n }\n\n /**\n * 设置客户端名称 \n */\n clientName(name: string): this {\n this._clientName = name;\n return this;\n }\n\n /**\n * 设置 WebSocket 连接配置 \n */\n useWebSocketChannel(endpoint: WebSocketServerEndpoint | undefined): this {\n this._webSocketServerEndpoint = endpoint;\n return this;\n }\n\n /**\n * 设置服务器应用路径 \n */\n serverInstallationPath(path: AppInstallationPath): this {\n this._serverInstallationPath = path;\n return this;\n }\n\n /**\n * 设置服务器应用标识符 \n */\n serverLaunchIdentifier(identifier: AppLaunchIdentifier): this {\n this._serverLaunchIdentifier = identifier;\n return this;\n }\n\n /**\n * 设置是否启用心跳检测 \n */\n enableHeartbeat(enable: boolean): this {\n this._enableHeartbeat = enable;\n return this;\n }\n\n /**\n * 设置心跳检测间隔时间 \n */\n heartbeatIntervalMs(ms: number): this {\n this._heartbeatIntervalMs = ms;\n return this;\n }\n\n /**\n * 设置消息策略 \n */\n messageStrategy(strategy: IpcMessageStrategy): this {\n this._messageStrategy = strategy;\n return this;\n }\n\n /**\n * 设置消息拦截器 \n */\n messageInterceptor(interceptor?: MessageInterceptor): this {\n this._messageInterceptor = interceptor;\n return this;\n }\n\n /**\n * 设置连接状态观察者 \n */\n connectionObserver(observer?: ConnectionObserver): this {\n this._connectionObserver = observer;\n return this;\n }\n\n /** \n * 注入应用启动器\n * 用于覆盖默认的唤醒方式(如 wps-addin 通过 URL Scheme 唤起) \n */\n appLauncher(launcher: AppLauncher | undefined): this {\n this._appLauncher = launcher;\n return this;\n }\n\n /**\n * 构建客户端实例并可选注册为默认客户端。\n */\n build(makeDefault = false): MoonBridgeIpcClient {\n if (!this._clientName || this._clientName.trim() === '') {\n throw new Error('clientName must be non-empty.');\n }\n if (!this._webSocketServerEndpoint) {\n throw new Error(\n 'Call useWebSocketChannel to set the transport configuration.',\n );\n }\n\n const settings = new IpcClientSettings({\n clientName: this._clientName,\n webSocketServerEndpoint: this._webSocketServerEndpoint,\n serverInstallationPath: this._serverInstallationPath,\n serverLaunchIdentifier: this._serverLaunchIdentifier,\n enableHeartbeat: this._enableHeartbeat,\n heartbeatIntervalMs: this._heartbeatIntervalMs,\n messageStrategy: this._messageStrategy,\n messageInterceptor: this._messageInterceptor,\n connectionObserver: this._connectionObserver,\n appLauncher: this._appLauncher,\n });\n\n const client = new RealMoonBridgeIpcClient(settings);\n MoonBridgeIpcClientRegistry.getInstance().register(client);\n if (makeDefault) {\n MoonBridgeIpcClientRegistry.getInstance().setDefault(client);\n }\n return client;\n }\n}\n\n\n/** \n * 客户端注册表单例 \n */\nexport class MoonBridgeIpcClientRegistry {\n private static _instance: MoonBridgeIpcClientRegistry;\n private readonly _clientMap = new Map<string, MoonBridgeIpcClient>();\n\n /**\n * 获取客户端注册表单例 \n */\n static getInstance(): MoonBridgeIpcClientRegistry {\n if (!MoonBridgeIpcClientRegistry._instance) {\n MoonBridgeIpcClientRegistry._instance = new MoonBridgeIpcClientRegistry();\n }\n return MoonBridgeIpcClientRegistry._instance;\n }\n\n /**\n * 设置默认客户端 \n */\n setDefault(client: MoonBridgeIpcClient): void {\n this._clientMap.set('__default__', client);\n }\n\n /**\n * 注册客户端 \n */\n register(client: MoonBridgeIpcClient): void {\n this._clientMap.set(client.clientName, client);\n }\n\n /**\n * 获取客户端 \n */\n get(clientName?: string): MoonBridgeIpcClient | undefined {\n return this._clientMap.get(clientName ?? '__default__');\n }\n}\n"]}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { IpcClientSettings } from './internal/settings/ipc_client_settings';
|
|
2
|
+
import { RealMoonBridgeIpcClient } from './internal/moonbridge_ipc_client.internal';
|
|
3
|
+
|
|
4
|
+
class MoonBridgeIpcClientBuilder {
|
|
5
|
+
constructor() {
|
|
6
|
+
this._clientName = "";
|
|
7
|
+
}
|
|
8
|
+
// PUBLIC METHODS
|
|
9
|
+
/**
|
|
10
|
+
* 创建客户端构建器
|
|
11
|
+
*/
|
|
12
|
+
static builder() {
|
|
13
|
+
return new MoonBridgeIpcClientBuilder();
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 设置客户端名称
|
|
17
|
+
*/
|
|
18
|
+
clientName(name) {
|
|
19
|
+
this._clientName = name;
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 设置 WebSocket 连接配置
|
|
24
|
+
*/
|
|
25
|
+
useWebSocketChannel(endpoint) {
|
|
26
|
+
this._webSocketServerEndpoint = endpoint;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 设置服务器应用路径
|
|
31
|
+
*/
|
|
32
|
+
serverInstallationPath(path) {
|
|
33
|
+
this._serverInstallationPath = path;
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 设置服务器应用标识符
|
|
38
|
+
*/
|
|
39
|
+
serverLaunchIdentifier(identifier) {
|
|
40
|
+
this._serverLaunchIdentifier = identifier;
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 设置是否启用心跳检测
|
|
45
|
+
*/
|
|
46
|
+
enableHeartbeat(enable) {
|
|
47
|
+
this._enableHeartbeat = enable;
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* 设置心跳检测间隔时间
|
|
52
|
+
*/
|
|
53
|
+
heartbeatIntervalMs(ms) {
|
|
54
|
+
this._heartbeatIntervalMs = ms;
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 设置消息策略
|
|
59
|
+
*/
|
|
60
|
+
messageStrategy(strategy) {
|
|
61
|
+
this._messageStrategy = strategy;
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 设置消息拦截器
|
|
66
|
+
*/
|
|
67
|
+
messageInterceptor(interceptor) {
|
|
68
|
+
this._messageInterceptor = interceptor;
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 设置连接状态观察者
|
|
73
|
+
*/
|
|
74
|
+
connectionObserver(observer) {
|
|
75
|
+
this._connectionObserver = observer;
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 注入应用启动器
|
|
80
|
+
* 用于覆盖默认的唤醒方式(如 wps-addin 通过 URL Scheme 唤起)
|
|
81
|
+
*/
|
|
82
|
+
appLauncher(launcher) {
|
|
83
|
+
this._appLauncher = launcher;
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* 构建客户端实例并可选注册为默认客户端。
|
|
88
|
+
*/
|
|
89
|
+
build(makeDefault = false) {
|
|
90
|
+
if (!this._clientName || this._clientName.trim() === "") {
|
|
91
|
+
throw new Error("clientName must be non-empty.");
|
|
92
|
+
}
|
|
93
|
+
if (!this._webSocketServerEndpoint) {
|
|
94
|
+
throw new Error(
|
|
95
|
+
"Call useWebSocketChannel to set the transport configuration."
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
const settings = new IpcClientSettings({
|
|
99
|
+
clientName: this._clientName,
|
|
100
|
+
webSocketServerEndpoint: this._webSocketServerEndpoint,
|
|
101
|
+
serverInstallationPath: this._serverInstallationPath,
|
|
102
|
+
serverLaunchIdentifier: this._serverLaunchIdentifier,
|
|
103
|
+
enableHeartbeat: this._enableHeartbeat,
|
|
104
|
+
heartbeatIntervalMs: this._heartbeatIntervalMs,
|
|
105
|
+
messageStrategy: this._messageStrategy,
|
|
106
|
+
messageInterceptor: this._messageInterceptor,
|
|
107
|
+
connectionObserver: this._connectionObserver,
|
|
108
|
+
appLauncher: this._appLauncher
|
|
109
|
+
});
|
|
110
|
+
const client = new RealMoonBridgeIpcClient(settings);
|
|
111
|
+
MoonBridgeIpcClientRegistry.getInstance().register(client);
|
|
112
|
+
if (makeDefault) {
|
|
113
|
+
MoonBridgeIpcClientRegistry.getInstance().setDefault(client);
|
|
114
|
+
}
|
|
115
|
+
return client;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
class MoonBridgeIpcClientRegistry {
|
|
119
|
+
constructor() {
|
|
120
|
+
this._clientMap = /* @__PURE__ */ new Map();
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* 获取客户端注册表单例
|
|
124
|
+
*/
|
|
125
|
+
static getInstance() {
|
|
126
|
+
if (!MoonBridgeIpcClientRegistry._instance) {
|
|
127
|
+
MoonBridgeIpcClientRegistry._instance = new MoonBridgeIpcClientRegistry();
|
|
128
|
+
}
|
|
129
|
+
return MoonBridgeIpcClientRegistry._instance;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* 设置默认客户端
|
|
133
|
+
*/
|
|
134
|
+
setDefault(client) {
|
|
135
|
+
this._clientMap.set("__default__", client);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* 注册客户端
|
|
139
|
+
*/
|
|
140
|
+
register(client) {
|
|
141
|
+
this._clientMap.set(client.clientName, client);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* 获取客户端
|
|
145
|
+
*/
|
|
146
|
+
get(clientName) {
|
|
147
|
+
return this._clientMap.get(clientName != null ? clientName : "__default__");
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export { MoonBridgeIpcClientBuilder, MoonBridgeIpcClientRegistry };
|
|
152
|
+
//# sourceMappingURL=moonbridge_ipc_client.mjs.map
|
|
153
|
+
//# sourceMappingURL=moonbridge_ipc_client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/moonbridge-ipc/client/moonbridge_ipc_client.ts"],"names":[],"mappings":"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","file":"moonbridge_ipc_client.mjs","sourcesContent":["/**\n * MoonBridge IPC 客户端入口类,对应 Flutter lib/client/moonbridge_ipc_client.dart。\n * 定义连接管理、消息发送与事件总线等公开 API;不含 RPC(JS 端不实现)。\n */\n\nimport { WebSocketServerEndpoint } from '../general/config/websocket_server_endpoint';\nimport { AppInstallationPath, AppLaunchIdentifier } from '../general/app_launch/model/app_info';\nimport { AppLauncher } from '../general/app_launch/app_launcher';\nimport { IpcClientSettings } from './internal/settings/ipc_client_settings';\nimport { IpcMessageStrategy } from './types/ipc_message_strategy';\nimport { ConnectionObserver, IpcConnectionCompletionHandler, MessageInterceptor } from './types/ipc_types';\nimport { EventBus } from './types/ipc_event_bus';\nimport { Messenger } from './types/ipc_messenger';\nimport { RealMoonBridgeIpcClient } from './internal/moonbridge_ipc_client.internal';\n\n/** MoonBridge IPC 客户端抽象接口 */\nexport interface MoonBridgeIpcClient {\n /** \n * 连接到 IPC 服务器 \n */\n connect(onResult?: IpcConnectionCompletionHandler): void;\n /** \n * 断开与 IPC 服务器的连接 \n */\n disconnect(): Promise<void>;\n /** \n * 检查是否已连接到 IPC 服务器 \n */\n isConnected(): boolean;\n /** \n * 客户端名称 \n */\n readonly clientName: string;\n /** \n * 消息发送器 \n */\n readonly messenger: Messenger;\n /** \n * 事件总线 \n */\n readonly eventBus: EventBus;\n}\n\n// PUBLIC CLASS\n\n/** 构造器,用于链式配置并构建客户端实例 */\nexport class MoonBridgeIpcClientBuilder {\n private _clientName = '';\n private _webSocketServerEndpoint?: WebSocketServerEndpoint;\n private _serverInstallationPath?: AppInstallationPath;\n private _serverLaunchIdentifier?: AppLaunchIdentifier;\n private _enableHeartbeat?: boolean;\n private _heartbeatIntervalMs?: number;\n private _messageStrategy?: IpcMessageStrategy;\n private _messageInterceptor?: MessageInterceptor;\n private _connectionObserver?: ConnectionObserver;\n private _appLauncher?: AppLauncher;\n\n // PUBLIC METHODS\n\n /**\n * 创建客户端构建器 \n */\n static builder(): MoonBridgeIpcClientBuilder {\n return new MoonBridgeIpcClientBuilder();\n }\n\n /**\n * 设置客户端名称 \n */\n clientName(name: string): this {\n this._clientName = name;\n return this;\n }\n\n /**\n * 设置 WebSocket 连接配置 \n */\n useWebSocketChannel(endpoint: WebSocketServerEndpoint | undefined): this {\n this._webSocketServerEndpoint = endpoint;\n return this;\n }\n\n /**\n * 设置服务器应用路径 \n */\n serverInstallationPath(path: AppInstallationPath): this {\n this._serverInstallationPath = path;\n return this;\n }\n\n /**\n * 设置服务器应用标识符 \n */\n serverLaunchIdentifier(identifier: AppLaunchIdentifier): this {\n this._serverLaunchIdentifier = identifier;\n return this;\n }\n\n /**\n * 设置是否启用心跳检测 \n */\n enableHeartbeat(enable: boolean): this {\n this._enableHeartbeat = enable;\n return this;\n }\n\n /**\n * 设置心跳检测间隔时间 \n */\n heartbeatIntervalMs(ms: number): this {\n this._heartbeatIntervalMs = ms;\n return this;\n }\n\n /**\n * 设置消息策略 \n */\n messageStrategy(strategy: IpcMessageStrategy): this {\n this._messageStrategy = strategy;\n return this;\n }\n\n /**\n * 设置消息拦截器 \n */\n messageInterceptor(interceptor?: MessageInterceptor): this {\n this._messageInterceptor = interceptor;\n return this;\n }\n\n /**\n * 设置连接状态观察者 \n */\n connectionObserver(observer?: ConnectionObserver): this {\n this._connectionObserver = observer;\n return this;\n }\n\n /** \n * 注入应用启动器\n * 用于覆盖默认的唤醒方式(如 wps-addin 通过 URL Scheme 唤起) \n */\n appLauncher(launcher: AppLauncher | undefined): this {\n this._appLauncher = launcher;\n return this;\n }\n\n /**\n * 构建客户端实例并可选注册为默认客户端。\n */\n build(makeDefault = false): MoonBridgeIpcClient {\n if (!this._clientName || this._clientName.trim() === '') {\n throw new Error('clientName must be non-empty.');\n }\n if (!this._webSocketServerEndpoint) {\n throw new Error(\n 'Call useWebSocketChannel to set the transport configuration.',\n );\n }\n\n const settings = new IpcClientSettings({\n clientName: this._clientName,\n webSocketServerEndpoint: this._webSocketServerEndpoint,\n serverInstallationPath: this._serverInstallationPath,\n serverLaunchIdentifier: this._serverLaunchIdentifier,\n enableHeartbeat: this._enableHeartbeat,\n heartbeatIntervalMs: this._heartbeatIntervalMs,\n messageStrategy: this._messageStrategy,\n messageInterceptor: this._messageInterceptor,\n connectionObserver: this._connectionObserver,\n appLauncher: this._appLauncher,\n });\n\n const client = new RealMoonBridgeIpcClient(settings);\n MoonBridgeIpcClientRegistry.getInstance().register(client);\n if (makeDefault) {\n MoonBridgeIpcClientRegistry.getInstance().setDefault(client);\n }\n return client;\n }\n}\n\n\n/** \n * 客户端注册表单例 \n */\nexport class MoonBridgeIpcClientRegistry {\n private static _instance: MoonBridgeIpcClientRegistry;\n private readonly _clientMap = new Map<string, MoonBridgeIpcClient>();\n\n /**\n * 获取客户端注册表单例 \n */\n static getInstance(): MoonBridgeIpcClientRegistry {\n if (!MoonBridgeIpcClientRegistry._instance) {\n MoonBridgeIpcClientRegistry._instance = new MoonBridgeIpcClientRegistry();\n }\n return MoonBridgeIpcClientRegistry._instance;\n }\n\n /**\n * 设置默认客户端 \n */\n setDefault(client: MoonBridgeIpcClient): void {\n this._clientMap.set('__default__', client);\n }\n\n /**\n * 注册客户端 \n */\n register(client: MoonBridgeIpcClient): void {\n this._clientMap.set(client.clientName, client);\n }\n\n /**\n * 获取客户端 \n */\n get(clientName?: string): MoonBridgeIpcClient | undefined {\n return this._clientMap.get(clientName ?? '__default__');\n }\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Event } from '../../general/message/event.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* IPC 事件总线接口与订阅者类型,对应 Flutter lib/client/types/ipc_event_bus.dart。
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/** IPC 事件总线接口。 */
|
|
8
|
+
interface EventBus {
|
|
9
|
+
/** 注册事件订阅者,订阅特定类型的事件。 */
|
|
10
|
+
register(subscriber: Subscriber): void;
|
|
11
|
+
/** 注销事件订阅者,取消订阅事件。 */
|
|
12
|
+
unregister(subscriber: Subscriber): void;
|
|
13
|
+
/** 发布事件,通知所有订阅者。 */
|
|
14
|
+
post(event: Event): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
/** IPC 事件订阅者,定义处理特定类型 IPC 事件的方式。 */
|
|
17
|
+
declare class Subscriber {
|
|
18
|
+
/** 事件类型 */
|
|
19
|
+
readonly eventType: string;
|
|
20
|
+
/** 匹配到感兴趣事件类型时的处理函数 */
|
|
21
|
+
readonly onEvent: (event: Event) => void;
|
|
22
|
+
constructor(
|
|
23
|
+
/** 事件类型 */
|
|
24
|
+
eventType: string,
|
|
25
|
+
/** 匹配到感兴趣事件类型时的处理函数 */
|
|
26
|
+
onEvent: (event: Event) => void);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { type EventBus, Subscriber };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPC 事件总线接口与订阅者类型,对应 Flutter lib/client/types/ipc_event_bus.dart。
|
|
3
|
+
*/
|
|
4
|
+
import { Event } from '../../general/message/event';
|
|
5
|
+
/** IPC 事件总线接口。 */
|
|
6
|
+
export interface EventBus {
|
|
7
|
+
/** 注册事件订阅者,订阅特定类型的事件。 */
|
|
8
|
+
register(subscriber: Subscriber): void;
|
|
9
|
+
/** 注销事件订阅者,取消订阅事件。 */
|
|
10
|
+
unregister(subscriber: Subscriber): void;
|
|
11
|
+
/** 发布事件,通知所有订阅者。 */
|
|
12
|
+
post(event: Event): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
/** IPC 事件订阅者,定义处理特定类型 IPC 事件的方式。 */
|
|
15
|
+
export declare class Subscriber {
|
|
16
|
+
/** 事件类型 */
|
|
17
|
+
readonly eventType: string;
|
|
18
|
+
/** 匹配到感兴趣事件类型时的处理函数 */
|
|
19
|
+
readonly onEvent: (event: Event) => void;
|
|
20
|
+
constructor(
|
|
21
|
+
/** 事件类型 */
|
|
22
|
+
eventType: string,
|
|
23
|
+
/** 匹配到感兴趣事件类型时的处理函数 */
|
|
24
|
+
onEvent: (event: Event) => void);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=ipc_event_bus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipc_event_bus.d.ts","sourceRoot":"","sources":["../../../../src/moonbridge-ipc/client/types/ipc_event_bus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,kBAAkB;AAClB,MAAM,WAAW,QAAQ;IACvB,yBAAyB;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAEvC,sBAAsB;IACtB,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAEzC,oBAAoB;IACpB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,oCAAoC;AACpC,qBAAa,UAAU;IAEnB,WAAW;aACK,SAAS,EAAE,MAAM;IACjC,uBAAuB;aACP,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;;IAH/C,WAAW;IACK,SAAS,EAAE,MAAM;IACjC,uBAAuB;IACP,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;CAElD"}
|