import { ContainerModule } from 'inversify'; import { POLICY_SERVICE_TOKEN, POLICY_API_CLIENT_TOKEN } from '../tokens'; import { PolicyService } from '@/lib/services/policy/PolicyService'; import { PolicyApiClient } from '@/lib/api/policy/PolicyApiClient'; export const PolicyModule = new ContainerModule((options) => { const bind = options.bind; // Policy Service bind(POLICY_SERVICE_TOKEN) .toDynamicValue((ctx) => { const apiClient = ctx.get(POLICY_API_CLIENT_TOKEN); return new PolicyService(apiClient); }) .inSingletonScope(); });