diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-05-22 20:16:21 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-22 20:16:21 +0900 |
commit | c1f64927b63d18048790abd3ba907083dbca3084 (patch) | |
tree | 3a64b677763f62094c49527d8182f8756a52fbd1 /src/content/client | |
parent | ced89134e32d793d8e091113cfb20867e1c3b572 (diff) | |
parent | 7be8bc71784b8dedd0fee03dd72dd8936e2f3929 (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.ts | 2 | ||||
-rw-r--r-- | src/content/client/FollowSlaveClientFactory.ts | 13 |
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); + } +} |