Add additional type info to messageRouter

This commit is contained in:
hensm
2019-04-10 05:34:17 +01:00
parent 40d19da638
commit 7a36160bf2
2 changed files with 19 additions and 6 deletions

View File

@@ -1,6 +1,15 @@
"use strict"; "use strict";
type SenderCallback = (message: any, details: any) => void; import { Message } from "../types";
interface Details {
tabId: number
, frameId: number
}
type SenderCallback = (message: Message, details: Details) => void;
const routeMap = new Map<string, SenderCallback>(); const routeMap = new Map<string, SenderCallback>();
@@ -12,7 +21,7 @@ function deregister (routeName: string) {
routeMap.delete(routeName); routeMap.delete(routeName);
} }
function handleMessage (message: any, details?: any) { function handleMessage (message: Message, details?: Details) {
const destination = message.subject.split(":")[0]; const destination = message.subject.split(":")[0];
if (routeMap.has(destination)) { if (routeMap.has(destination)) {
routeMap.get(destination)(message, details); routeMap.get(destination)(message, details);

View File

@@ -529,17 +529,21 @@ function onConnectPopup (port: browser.runtime.Port) {
browser.runtime.onConnect.addListener(port => { browser.runtime.onConnect.addListener(port => {
switch (port.name) { switch (port.name) {
case "shim": onConnectShim(port); break; case "shim":
case "popup": onConnectPopup(port); break; onConnectShim(port);
break;
case "popup":
onConnectPopup(port);
break;
} }
}); });
messageRouter.register("mirrorCast", (message: object) => { messageRouter.register("mirrorCast", message => {
browser.tabs.sendMessage(mirrorCastTabId, message browser.tabs.sendMessage(mirrorCastTabId, message
, { frameId: mirrorCastFrameId }); , { frameId: mirrorCastFrameId });
}); });
messageRouter.register("mediaCast", (message: object) => { messageRouter.register("mediaCast", message => {
browser.tabs.sendMessage(mediaCastTabId, message browser.tabs.sendMessage(mediaCastTabId, message
, { frameId: mediaCastFrameId }); , { frameId: mediaCastFrameId });
}); });