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