import { ContainerModule } from 'inversify'; import { SPONSOR_SERVICE_TOKEN, SPONSOR_API_CLIENT_TOKEN } from '../tokens'; import { SponsorService } from '@/lib/services/sponsors/SponsorService'; import { SponsorsApiClient } from '@/lib/api/sponsors/SponsorsApiClient'; export const SponsorModule = new ContainerModule((options) => { const bind = options.bind; // Sponsor Service bind(SPONSOR_SERVICE_TOKEN) .toDynamicValue((ctx) => { const apiClient = ctx.get(SPONSOR_API_CLIENT_TOKEN); return new SponsorService(apiClient); }) .inSingletonScope(); });