35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import {
|
|
ExternalModuleDeclaration,
|
|
InternalModuleDeclaration,
|
|
MedusaModule,
|
|
MODULE_PACKAGE_NAMES,
|
|
Modules,
|
|
} from "@medusajs/modules-sdk"
|
|
import { IProductModuleService, ModulesSdkTypes } from "@medusajs/types"
|
|
|
|
import { InitializeModuleInjectableDependencies } from "@types"
|
|
import { moduleDefinition } from "../module-definition"
|
|
|
|
export const initialize = async (
|
|
options?:
|
|
| ModulesSdkTypes.ModuleServiceInitializeOptions
|
|
| ModulesSdkTypes.ModuleServiceInitializeCustomDataLayerOptions
|
|
| ExternalModuleDeclaration
|
|
| InternalModuleDeclaration,
|
|
injectedDependencies?: InitializeModuleInjectableDependencies
|
|
): Promise<IProductModuleService> => {
|
|
const serviceKey = Modules.PRODUCT
|
|
|
|
const loaded = await MedusaModule.bootstrap<IProductModuleService>({
|
|
moduleKey: serviceKey,
|
|
defaultPath: MODULE_PACKAGE_NAMES[Modules.PRODUCT],
|
|
declaration: options as
|
|
| InternalModuleDeclaration
|
|
| ExternalModuleDeclaration,
|
|
injectedDependencies,
|
|
moduleExports: moduleDefinition,
|
|
})
|
|
|
|
return loaded[serviceKey]
|
|
}
|