aboutsummaryrefslogtreecommitdiff
path: root/src/content/client
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2019-05-22 20:16:21 +0900
committerGitHub <noreply@github.com>2019-05-22 20:16:21 +0900
commitc1f64927b63d18048790abd3ba907083dbca3084 (patch)
tree3a64b677763f62094c49527d8182f8756a52fbd1 /src/content/client
parentced89134e32d793d8e091113cfb20867e1c3b572 (diff)
parent7be8bc71784b8dedd0fee03dd72dd8936e2f3929 (diff)
Merge pull request #588 from ueokande/tsyringe
Use tsyringe for DI container
Diffstat (limited to 'src/content/client')
-rw-r--r--src/content/client/BackgroundClient.ts2
-rw-r--r--src/content/client/FollowSlaveClientFactory.ts13
2 files changed, 15 insertions, 0 deletions
diff --git a/src/content/client/BackgroundClient.ts b/src/content/client/BackgroundClient.ts
index 2fe8d01..4a41184 100644
--- a/src/content/client/BackgroundClient.ts
+++ b/src/content/client/BackgroundClient.ts
@@ -1,6 +1,8 @@
+import { injectable } from 'tsyringe';
import * as operations from '../../shared/operations';
import * as messages from '../../shared/messages';
+@injectable()
export default class BackgroundClient {
execBackgroundOp(op: operations.Operation): Promise<void> {
return browser.runtime.sendMessage({
diff --git a/src/content/client/FollowSlaveClientFactory.ts b/src/content/client/FollowSlaveClientFactory.ts
new file mode 100644
index 0000000..cd331d4
--- /dev/null
+++ b/src/content/client/FollowSlaveClientFactory.ts
@@ -0,0 +1,13 @@
+import FollowSlaveClient, { FollowSlaveClientImpl } from './FollowSlaveClient';
+
+export default interface FollowSlaveClientFactory {
+ create(window: Window): FollowSlaveClient;
+
+ // eslint-disable-next-line semi
+}
+
+export class FollowSlaveClientFactoryImpl implements FollowSlaveClientFactory {
+ create(window: Window): FollowSlaveClient {
+ return new FollowSlaveClientImpl(window);
+ }
+}