Types on src/share

This commit is contained in:
Shin'ya Ueoka 2019-04-30 21:50:46 +09:00
parent 2b8c37e57f
commit 0cffb09e24
11 changed files with 88 additions and 54 deletions
src/shared

View file

@ -1,5 +1,8 @@
const onWebMessage = (listener) => {
window.addEventListener('message', (event) => {
type WebMessageSender = Window | MessagePort | ServiceWorker | null;
type WebMessageListener = (msg: any, sender: WebMessageSender | null) => void;
const onWebMessage = (listener: WebMessageListener) => {
window.addEventListener('message', (event: MessageEvent) => {
let sender = event.source;
let message = null;
try {
@ -12,11 +15,15 @@ const onWebMessage = (listener) => {
});
};
const onBackgroundMessage = (listener) => {
const onBackgroundMessage = (
listener: (msg: any, sender: browser.runtime.MessageSender,
) => void) => {
browser.runtime.onMessage.addListener(listener);
};
const onMessage = (listener) => {
const onMessage = (
listener: (msg: any, sender: WebMessageSender | browser.runtime.MessageSender,
) => void) => {
onWebMessage(listener);
onBackgroundMessage(listener);
};