aboutsummaryrefslogtreecommitdiff
path: root/src/content/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/client')
-rw-r--r--src/content/client/ConsoleClient.ts30
-rw-r--r--src/content/client/FindClient.ts25
2 files changed, 55 insertions, 0 deletions
diff --git a/src/content/client/ConsoleClient.ts b/src/content/client/ConsoleClient.ts
new file mode 100644
index 0000000..e7046e5
--- /dev/null
+++ b/src/content/client/ConsoleClient.ts
@@ -0,0 +1,30 @@
+import * as messages from '../../shared/messages';
+
+export default interface ConsoleClient {
+ info(text: string): Promise<void>;
+ error(text: string): Promise<void>;
+
+ // eslint-disable-next-line semi
+}
+
+export class ConsoleClientImpl implements ConsoleClient {
+ async info(text: string): Promise<void> {
+ await browser.runtime.sendMessage({
+ type: messages.CONSOLE_FRAME_MESSAGE,
+ message: {
+ type: messages.CONSOLE_SHOW_INFO,
+ text,
+ },
+ });
+ }
+
+ async error(text: string): Promise<void> {
+ await browser.runtime.sendMessage({
+ type: messages.CONSOLE_FRAME_MESSAGE,
+ message: {
+ type: messages.CONSOLE_SHOW_ERROR,
+ text,
+ },
+ });
+ }
+}
diff --git a/src/content/client/FindClient.ts b/src/content/client/FindClient.ts
new file mode 100644
index 0000000..22cd3cb
--- /dev/null
+++ b/src/content/client/FindClient.ts
@@ -0,0 +1,25 @@
+import * as messages from '../../shared/messages';
+
+export default interface FindClient {
+ getGlobalLastKeyword(): Promise<string | null>;
+
+ setGlobalLastKeyword(keyword: string): Promise<void>;
+
+ // eslint-disable-next-line semi
+}
+
+export class FindClientImpl implements FindClient {
+ async getGlobalLastKeyword(): Promise<string | null> {
+ let keyword = await browser.runtime.sendMessage({
+ type: messages.FIND_GET_KEYWORD,
+ });
+ return keyword as string;
+ }
+
+ async setGlobalLastKeyword(keyword: string): Promise<void> {
+ await browser.runtime.sendMessage({
+ type: messages.FIND_SET_KEYWORD,
+ keyword: keyword,
+ });
+ }
+}