1
0
mirror of https://github.com/XFox111/TabsAsideExtension.git synced 2026-04-22 07:58:01 +03:00

chore: messenger refactoring

This commit is contained in:
2025-05-07 00:04:19 +03:00
parent 8b77159abe
commit aa2ee02c79
+15 -8
View File
@@ -1,6 +1,6 @@
import { trackError } from "@/features/analytics";
import { GraphicsStorage } from "@/models/CollectionModels";
import { defineExtensionMessaging, ExtensionMessenger } from "@webext-core/messaging";
import { defineExtensionMessaging, ExtensionMessagingConfig, ExtensionMessenger } from "@webext-core/messaging";
type ProtocolMap =
{
@@ -9,15 +9,18 @@ type ProtocolMap =
refreshCollections(): void;
};
const protocol: ExtensionMessenger<ProtocolMap> = defineExtensionMessaging<ProtocolMap>();
export const onMessage = protocol.onMessage;
export const sendMessage: ExtensionMessenger<ProtocolMap>["sendMessage"] = async (...args) =>
function defineMessaging(config?: ExtensionMessagingConfig): ExtensionMessenger<ProtocolMap>
{
const { onMessage, sendMessage, removeAllListeners } = defineExtensionMessaging<ProtocolMap>(config);
return {
onMessage,
removeAllListeners,
sendMessage: async (type, data, args): Promise<any> =>
{
try
{
return await protocol.sendMessage(...args);
return await sendMessage(type, data, args);
}
catch (ex)
{
@@ -25,4 +28,8 @@ export const sendMessage: ExtensionMessenger<ProtocolMap>["sendMessage"] = async
trackError("messaging_error", ex as Error);
return undefined!;
}
};
}
};
}
export const { onMessage, sendMessage } = defineMessaging({ logger: console });