- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
Menu
- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
4.5.1. Infer Type of Data Model
In this chapter, you'll learn how to infer the type of a data model.
How to Infer Type of 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 an InferTypeOf
utility imported from @medusajs/framework/types
that transforms your data model to a type.
For example:
The InferTypeOf
utility 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}
Was this chapter helpful?