UNPKG

@thunderstorefront/sdk

Version:

Create Nuxt extendable layer with this GitHub template.

33 lines (27 loc) 740 B
import type { ProductList, ProductListInput, ProductPage } from '@thunderstorefront/types'; export interface UseProductApi< TProductPage = ProductPage, TProductList = ProductList > { fetchProductPage: (id: string) => Promise<TProductPage>; fetchProducts: (query?: ProductListInput) => Promise<TProductList>; } export function useProductApi(): UseProductApi { const client = useClient(); async function fetchProducts(query?: ProductListInput): Promise<ProductList> { return await client('/api/products', { query }); } async function fetchProductPage(id: string): Promise<ProductPage> { return await client(`/api/product-page/${id}`); } return { fetchProducts, fetchProductPage }; }