mirror of
https://github.com/vercel/commerce.git
synced 2025-07-23 04:36:49 +00:00
Updates & fixes
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user