Updates & fixes

This commit is contained in:
Catalin Pinte
2022-11-28 12:09:01 +02:00
parent 6699f2fed4
commit 36e68b461f
9 changed files with 1740 additions and 1551 deletions

View File

@@ -1,3 +1,5 @@
import type { GetProductOperation } from '@vercel/commerce/types/product'
import { normalizeProduct } from '../../utils'
import { Product } from '@vercel/commerce/types/product'
@@ -7,15 +9,15 @@ import { Provider, SwellConfig } from '../'
export default function getProductOperation({
commerce,
}: OperationContext<Provider>) {
async function getProduct({
async function getProduct<T extends GetProductOperation>({
variables,
config: cfg,
}: {
query?: string
variables: { slug: string }
variables: T['variables']
config?: Partial<SwellConfig>
preview?: boolean
}): Promise<Product | {} | any> {
}): Promise<T['data']> {
const config = commerce.getConfig(cfg)
const product = await config.fetch('products', 'get', [variables.slug])
@@ -24,9 +26,7 @@ export default function getProductOperation({
product.variants = product.variants?.results
}
return {
product: product ? normalizeProduct(product) : null,
}
return product ? { product: normalizeProduct(product) } : {}
}
return getProduct