import{ContainerModule as e}from"inversify";import{BaseRepository as t}from"@common-stack/store-mongo";import{CountriesAndCitiesMigration as o}from"../migrations/countries-and-cities-migration.js";import{TYPES as r}from"../constants/types.js";import{CityService as i}from"../services/city-service.js";import{CountryService as n}from"../services/country-service.js";import{StateService as a}from"../services/state-service.js";import{CityDataLoader as s}from"../dataloaders/city-data-loader.js";import{CountryDataLoader as p}from"../dataloaders/country-data-loader.js";import{StateDataLoader as m}from"../dataloaders/state-data-loader.js";import{CityRepository as c}from"../store/repositories/city-repository.js";import{CountryRepository as g}from"../store/repositories/country-repository.js";import{StateRepository as l}from"../store/repositories/state-repository.js";const S=()=>new e((e=>{e("BaseRepository").to(t).inSingletonScope().whenTargetIsDefault()})),f=()=>new e((e=>{e(r.CountryDataLoader).to(p).inSingletonScope().whenTargetIsDefault(),e(r.StateDataLoader).to(m).inSingletonScope().whenTargetIsDefault(),e(r.CityDataLoader).to(s).inSingletonScope().whenTargetIsDefault()})),y=()=>new e((e=>{e("MongodbMigration").to(o).whenTargetNamed(o.name)})),d=()=>new e((e=>{e(r.CityRepository).to(c).inSingletonScope().whenTargetIsDefault(),e(r.CityService).to(i).inSingletonScope().whenTargetIsDefault(),e(r.StateRepository).to(l).inSingletonScope().whenTargetIsDefault(),e(r.StateService).to(a).inSingletonScope().whenTargetIsDefault(),e(r.CountryRepository).to(g).inSingletonScope().whenTargetIsDefault(),e(r.CountryService).to(n).inSingletonScope().whenTargetIsDefault()}));export{d as DBServiceContainerModule,f as DataloaderContainerModule,y as MigrationContainerModule,S as localContainerModule};