From e6ddd43496b01c64d27676b2bce13a9992293985 Mon Sep 17 00:00:00 2001 From: hensm Date: Tue, 4 May 2021 12:20:59 +0100 Subject: [PATCH] Move lib/Messenger to messaging module --- ext/src/lib/Messenger.ts | 36 ------------------------------------ ext/src/messaging.ts | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 38 deletions(-) delete mode 100644 ext/src/lib/Messenger.ts diff --git a/ext/src/lib/Messenger.ts b/ext/src/lib/Messenger.ts deleted file mode 100644 index e2d7f94..0000000 --- a/ext/src/lib/Messenger.ts +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; - -import { TypedPort } from "./TypedPort"; - - -interface RuntimeConnectInfo { - name: string; -} -interface TabConnectInfo { - name: string; - frameId: number; -} - -export default class Messenger { - connect(connectInfo: RuntimeConnectInfo) { - return browser.runtime.connect(connectInfo) as - unknown as TypedPort; - } - - connectTab(tabId: number, connectInfo: TabConnectInfo) { - return browser.tabs.connect(tabId, connectInfo) as - unknown as TypedPort; - } - - onConnect = { - addListener(cb: (port: TypedPort) => void) { - browser.runtime.onConnect.addListener(cb as any); - } - , removeListener(cb: (port: TypedPort) => void) { - browser.runtime.onConnect.removeListener(cb as any); - } - , hasListener(cb: (port: TypedPort) => void) { - return browser.runtime.onConnect.hasListener(cb as any); - } - } -} diff --git a/ext/src/messaging.ts b/ext/src/messaging.ts index d0288a8..e3191f1 100644 --- a/ext/src/messaging.ts +++ b/ext/src/messaging.ts @@ -1,7 +1,5 @@ "use strict"; -import Messenger from "./lib/Messenger"; - import { TypedPort } from "./lib/TypedPort"; import { BridgeInfo } from "./lib/bridge"; @@ -180,4 +178,34 @@ export type Port = TypedPort; export type Message = NarrowedMessage; +/** + * Typed WebExtension-style messaging utility class. + */ +class Messenger { + connect(connectInfo: { name: string; }) { + return browser.runtime.connect(connectInfo) as + unknown as TypedPort; + } + + connectTab(tabId: number + , connectInfo: { name: string + , frameId: number }) { + + return browser.tabs.connect(tabId, connectInfo) as + unknown as TypedPort; + } + + onConnect = { + addListener(cb: (port: TypedPort) => void) { + browser.runtime.onConnect.addListener(cb as any); + } + , removeListener(cb: (port: TypedPort) => void) { + browser.runtime.onConnect.removeListener(cb as any); + } + , hasListener(cb: (port: TypedPort) => void) { + return browser.runtime.onConnect.hasListener(cb as any); + } + } +} + export default new Messenger();