import 'reflect-metadata'; import { Container } from 'inversify'; import { MainAppWindow } from '../modules/app-window/main-app-window'; import { NhentaiApi } from '../modules/nhentai/nhentai-api'; import '../modules/nhentai/nhentai-ipc-controller'; import { Session } from '../modules/session/session'; import { Store } from '../modules/store/store'; import { StoreMock } from '../modules/store/store.mock'; import { WebCrawler } from '../modules/web-crawler/web-crawler'; export const container = new Container({ defaultScope: 'Singleton' }); container.bind(Symbol.for('store')).to(Store); export function mockStore(unMock = false): void { if (unMock) { container.unbind(Symbol.for('store')); container.bind(Symbol.for('store')).to(Store); } else { container.unbind(Symbol.for('store')); container.bind(Symbol.for('store')).to(StoreMock); } } container.bind(Symbol.for('web-crawler')).to(WebCrawler); container.bind(Symbol.for('nhentai-api')).to(NhentaiApi); container.bind(Symbol.for('app-window-main')).to(MainAppWindow); container.bind(Symbol.for('session')).to(Session);