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/di.ts | |
parent | ced89134e32d793d8e091113cfb20867e1c3b572 (diff) | |
parent | 7be8bc71784b8dedd0fee03dd72dd8936e2f3929 (diff) |
Merge pull request #588 from ueokande/tsyringe
Use tsyringe for DI container
Diffstat (limited to 'src/content/di.ts')
-rw-r--r-- | src/content/di.ts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/content/di.ts b/src/content/di.ts new file mode 100644 index 0000000..23be027 --- /dev/null +++ b/src/content/di.ts @@ -0,0 +1,54 @@ +/* eslint-disable max-len */ + +import { AddonEnabledRepositoryImpl } from './repositories/AddonEnabledRepository'; +import { AddonIndicatorClientImpl } from './client/AddonIndicatorClient'; +import { ClipboardRepositoryImpl } from './repositories/ClipboardRepository'; +import { ConsoleClientImpl } from './client/ConsoleClient'; +import { ConsoleFramePresenterImpl } from './presenters/ConsoleFramePresenter'; +import { FindClientImpl } from './client/FindClient'; +import { FindMasterClientImpl } from './client/FindMasterClient'; +import { FindPresenterImpl } from './presenters/FindPresenter'; +import { FindRepositoryImpl } from './repositories/FindRepository'; +import { FocusPresenterImpl } from './presenters/FocusPresenter'; +import { FollowKeyRepositoryImpl } from './repositories/FollowKeyRepository'; +import { FollowMasterClientImpl } from './client/FollowMasterClient'; +import { FollowMasterRepositoryImpl } from './repositories/FollowMasterRepository'; +import { FollowPresenterImpl } from './presenters/FollowPresenter'; +import { FollowSlaveClientFactoryImpl } from './client/FollowSlaveClientFactory'; +import { FollowSlaveRepositoryImpl } from './repositories/FollowSlaveRepository'; +import { KeymapRepositoryImpl } from './repositories/KeymapRepository'; +import { MarkClientImpl } from './client/MarkClient'; +import { MarkKeyRepositoryImpl } from './repositories/MarkKeyRepository'; +import { MarkRepositoryImpl } from './repositories/MarkRepository'; +import { NavigationPresenterImpl } from './presenters/NavigationPresenter'; +import { ScrollPresenterImpl } from './presenters/ScrollPresenter'; +import { SettingClientImpl } from './client/SettingClient'; +import { SettingRepositoryImpl } from './repositories/SettingRepository'; +import { TabsClientImpl } from './client/TabsClient'; +import { container } from 'tsyringe'; + +container.register('FollowMasterClient', { useValue: new FollowMasterClientImpl(window.top) }); +container.register('AddonEnabledRepository', { useClass: AddonEnabledRepositoryImpl }); +container.register('AddonIndicatorClient', { useClass: AddonIndicatorClientImpl }); +container.register('ClipboardRepository', { useClass: ClipboardRepositoryImpl }); +container.register('ConsoleClient', { useClass: ConsoleClientImpl }); +container.register('ConsoleFramePresenter', { useClass: ConsoleFramePresenterImpl }); +container.register('FindClient', { useClass: FindClientImpl }); +container.register('FindMasterClient', { useClass: FindMasterClientImpl }); +container.register('FindPresenter', { useClass: FindPresenterImpl }); +container.register('FindRepository', { useClass: FindRepositoryImpl }); +container.register('FocusPresenter', { useClass: FocusPresenterImpl }); +container.register('FollowKeyRepository', { useClass: FollowKeyRepositoryImpl }); +container.register('FollowMasterRepository', { useClass: FollowMasterRepositoryImpl }); +container.register('FollowPresenter', { useClass: FollowPresenterImpl }); +container.register('FollowSlaveClientFactory', { useClass: FollowSlaveClientFactoryImpl }); +container.register('FollowSlaveRepository', { useClass: FollowSlaveRepositoryImpl }); +container.register('KeymapRepository', { useClass: KeymapRepositoryImpl }); +container.register('MarkClient', { useClass: MarkClientImpl }); +container.register('MarkKeyRepository', { useClass: MarkKeyRepositoryImpl }); +container.register('MarkRepository', { useClass: MarkRepositoryImpl }); +container.register('NavigationPresenter', { useClass: NavigationPresenterImpl }); +container.register('ScrollPresenter', { useClass: ScrollPresenterImpl }); +container.register('SettingClient', { useClass: SettingClientImpl }); +container.register('SettingRepository', { useClass: SettingRepositoryImpl }); +container.register('TabsClient', { useClass: TabsClientImpl }); |