queue/source/utilities/messaging.ts

18 lines
489 B
TypeScript

import browser from 'webextension-polyfill';
export function initializeMessaging() {
browser.runtime.onMessage.addListener((request: Queue.Message<unknown>) => {
if (request.action === 'queue open url') {
const message = request as Queue.Message<Queue.Item>;
window.location.href = message.data.url;
}
});
}
export async function sendMessage<T>(
action: Queue.MessageAction,
data?: T,
): Promise<void> {
await browser.runtime.sendMessage({action, data});
}