import { ExternalModuleDeclaration, InternalModuleDeclaration, MedusaModule, MODULE_PACKAGE_NAMES, Modules, } from "@medusajs/modules-sdk" import { IEventBusService, IStockLocationService } from "@medusajs/types" import { moduleDefinition } from "../module-definition" import { StockLocationServiceInitializeOptions } from "../types" export const initialize = async ( options: StockLocationServiceInitializeOptions | ExternalModuleDeclaration, injectedDependencies?: { eventBusService: IEventBusService } ): Promise => { const serviceKey = Modules.STOCK_LOCATION const loaded = await MedusaModule.bootstrap({ moduleKey: serviceKey, defaultPath: MODULE_PACKAGE_NAMES[Modules.STOCK_LOCATION], declaration: options as | InternalModuleDeclaration | ExternalModuleDeclaration, injectedDependencies, moduleExports: moduleDefinition, }) return loaded[serviceKey] }