import 'reflect-metadata';
import { Container } from 'inversify';
import { MainAppWindow } from '../modules/app-window/main-app-window';
import { NhentaiApi } from '../modules/nhentai/nhentai-api';
import { NhentaiIpcServer } from '../modules/nhentai/nhentai-ipc-server';
import { Session } from '../modules/session/session';
import { WebCrawler } from '../modules/web-crawler/web-crawler';

export const container = new Container({ defaultScope: 'Singleton' });

container.bind(Symbol.for('web-crawler')).to(WebCrawler);

container.bind(Symbol.for('nhentai-api')).to(NhentaiApi);
container.bind(Symbol.for('nhentai-ipc-server')).to(NhentaiIpcServer);
container.get(Symbol.for('nhentai-ipc-server'));

container.bind(Symbol.for('app-window-main')).to(MainAppWindow);

container.bind(Symbol.for('session')).to(Session);
