UNPKG

@techsio/storefront-data

Version:

Medusa-first storefront data layer built on TanStack Query.

27 lines • 2.04 kB
import { type CacheConfig, type CacheStrategy } from "../shared/cache-config"; import type { QueryFactoryOptions, ReadQueryOptions } from "../shared/hook-types"; import type { QueryNamespace } from "../shared/query-keys"; import type { ProductDetailInputBase, ProductListInputBase, ProductListResponse, ProductQueryKeys, ProductService, RegionInfo } from "./types"; export type CreateProductQueryOptionsFactoryConfig<TProduct, TListInput extends ProductListInputBase, TListParams, TDetailInput extends ProductDetailInputBase, TDetailParams> = { service: ProductService<TProduct, TListParams, TDetailParams>; buildListParams?: (input: TListInput) => TListParams; buildDetailParams?: (input: TDetailInput) => TDetailParams; queryKeys?: ProductQueryKeys<TListParams, TDetailParams>; queryKeyNamespace?: QueryNamespace; cacheConfig?: CacheConfig; }; export type ProductQueryOptionsFactory<TProduct, TListInput extends ProductListInputBase, TDetailInput extends ProductDetailInputBase> = { getListQueryOptions: (input: TListInput, options?: { queryOptions?: ReadQueryOptions<ProductListResponse<TProduct>>; region?: RegionInfo | null; useGlobalFetcher?: boolean; cacheStrategy?: CacheStrategy; }) => QueryFactoryOptions<ProductListResponse<TProduct>>; getDetailQueryOptions: (input: TDetailInput, options?: { queryOptions?: ReadQueryOptions<TProduct | null>; region?: RegionInfo | null; cacheStrategy?: CacheStrategy; }) => QueryFactoryOptions<TProduct | null>; }; export declare function createProductQueryOptionsFactory<TProduct, TListInput extends ProductListInputBase, TListParams, TDetailInput extends ProductDetailInputBase, TDetailParams>({ service, buildListParams, buildDetailParams, queryKeys, queryKeyNamespace, cacheConfig, }: CreateProductQueryOptionsFactoryConfig<TProduct, TListInput, TListParams, TDetailInput, TDetailParams>): ProductQueryOptionsFactory<TProduct, TListInput, TDetailInput>; //# sourceMappingURL=query-options.d.ts.map