**What**
Align the index engine API to be similar to the Query API
## Example
```ts
// Benefit from the same level of typing like the remote query
const { data, metadata } = await indexEngine.query<'product'>({
fields: [
"product.*",
"product.variants.*",
"product.variants.prices.*",
],
filters: {
product: {
variants: {
prices: {
amount: { $gt: 50 },
},
},
},
},
pagination: {
order: {
product: {
variants: {
prices: {
amount: "DESC",
},
},
},
},
},
})
```
8 lines
280 B
TypeScript
8 lines
280 B
TypeScript
import { objectFromStringPath } from "@medusajs/utils"
|
|
|
|
export function normalizeFieldsSelection(fields: string[]) {
|
|
const normalizedFields = fields.map((field) => field.replace(/\.\*/g, ""))
|
|
const fieldsObject = objectFromStringPath(normalizedFields)
|
|
return fieldsObject
|
|
}
|