on GitHub" data-tooltip-id=":Rblcldtb:">v2.6·
In this chapter, you'll learn how to infer the type of a data model.
Consider you have a MyCustom
data model. You can't reference this data model in a type, such as a workflow input or service method output types, since it's a variable.
Instead, Medusa provides InferTypeOf
that transforms your data model to a type.
For example:
InferTypeOf
accepts as a type argument the type of the data model.
Since the MyCustom
data model is a variable, use the typeof
operator to pass the data model as a type argument to InferTypeOf
.
You can now use the MyCustom
type to reference a data model in other types, such as in workflow inputs or service method outputs:
1// other imports...2import { InferTypeOf } from "@medusajs/framework/types"3import { MyCustom } from "../models/my-custom"4 5type MyCustom = InferTypeOf<typeof MyCustom>6 7class HelloModuleService extends MedusaService({ MyCustom }) {8 async doSomething(): Promise<MyCustom> {9 // ...10 }11}