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
+24 -17
View File
@@ -1,6 +1,6 @@
import { trackError } from "@/features/analytics"; import { trackError } from "@/features/analytics";
import { GraphicsStorage } from "@/models/CollectionModels"; import { GraphicsStorage } from "@/models/CollectionModels";
import { defineExtensionMessaging, ExtensionMessenger } from "@webext-core/messaging"; import { defineExtensionMessaging, ExtensionMessagingConfig, ExtensionMessenger } from "@webext-core/messaging";
type ProtocolMap = type ProtocolMap =
{ {
@@ -9,20 +9,27 @@ type ProtocolMap =
refreshCollections(): void; refreshCollections(): void;
}; };
const protocol: ExtensionMessenger<ProtocolMap> = defineExtensionMessaging<ProtocolMap>(); function defineMessaging(config?: ExtensionMessagingConfig): ExtensionMessenger<ProtocolMap>
export const onMessage = protocol.onMessage;
export const sendMessage: ExtensionMessenger<ProtocolMap>["sendMessage"] = async (...args) =>
{ {
try const { onMessage, sendMessage, removeAllListeners } = defineExtensionMessaging<ProtocolMap>(config);
{
return await protocol.sendMessage(...args); return {
} onMessage,
catch (ex) removeAllListeners,
{ sendMessage: async (type, data, args): Promise<any> =>
console.error(ex); {
trackError("messaging_error", ex as Error); try
return undefined!; {
} return await sendMessage(type, data, args);
}; }
catch (ex)
{
console.error(ex);
trackError("messaging_error", ex as Error);
return undefined!;
}
}
};
}
export const { onMessage, sendMessage } = defineMessaging({ logger: console });