@techsio/storefront-data
Version:
Medusa-first storefront data layer built on TanStack Query.
27 lines • 2.04 kB
TypeScript
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