forked from crowetic/commerce
22 lines
555 B
TypeScript
22 lines
555 B
TypeScript
import type { ProductNode } from '../operations/get-all-products'
|
|
import type { RecursivePartial } from './types'
|
|
|
|
export default function setProductLocaleMeta(
|
|
node: RecursivePartial<ProductNode>
|
|
) {
|
|
if (node.localeMeta?.edges) {
|
|
node.localeMeta.edges = node.localeMeta.edges.filter((edge) => {
|
|
const { key, value } = edge?.node ?? {}
|
|
if (key && key in node) {
|
|
;(node as any)[key] = value
|
|
return false
|
|
}
|
|
return true
|
|
})
|
|
|
|
if (!node.localeMeta.edges.length) {
|
|
delete node.localeMeta
|
|
}
|
|
}
|
|
}
|