@techsio/storefront-data
Version:
Medusa-first storefront data layer built on TanStack Query.
20 lines • 1.52 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 { CatalogFacets, CatalogListInputBase, CatalogListResponse, CatalogQueryKeys, CatalogService, RegionInfo } from "./types";
export type CreateCatalogQueryOptionsFactoryConfig<TProduct, TListInput extends CatalogListInputBase, TListParams, TFacets> = {
service: CatalogService<TProduct, TListParams, TFacets>;
buildListParams?: (input: TListInput) => TListParams;
queryKeys?: CatalogQueryKeys<TListParams>;
queryKeyNamespace?: QueryNamespace;
cacheConfig?: CacheConfig;
};
export type CatalogQueryOptionsFactory<TProduct, TListInput extends CatalogListInputBase, TFacets> = {
getListQueryOptions: (input: TListInput, options?: {
queryOptions?: ReadQueryOptions<CatalogListResponse<TProduct, TFacets>>;
region?: RegionInfo | null;
cacheStrategy?: CacheStrategy;
}) => QueryFactoryOptions<CatalogListResponse<TProduct, TFacets>>;
};
export declare function createCatalogQueryOptionsFactory<TProduct, TListInput extends CatalogListInputBase, TListParams, TFacets = CatalogFacets>({ service, buildListParams, queryKeys, queryKeyNamespace, cacheConfig, }: CreateCatalogQueryOptionsFactoryConfig<TProduct, TListInput, TListParams, TFacets>): CatalogQueryOptionsFactory<TProduct, TListInput, TFacets>;
//# sourceMappingURL=query-options.d.ts.map