@techsio/storefront-data
Version:
Medusa-first storefront data layer built on TanStack Query.
43 lines • 2.48 kB
TypeScript
import type Medusa from "@medusajs/js-sdk";
import type { FindParams, HttpTypes, SelectParams } from "@medusajs/types";
import type { CategoryService } from "./types";
type MedusaCategoryListQuery = FindParams & HttpTypes.StoreProductCategoryListParams & Record<string, unknown>;
type MedusaCategoryDetailQuery = SelectParams & Record<string, unknown>;
export type MedusaCategoryListInput = FindParams & HttpTypes.StoreProductCategoryListParams & {
enabled?: boolean;
locale?: string;
};
export type MedusaCategoryDetailInput = SelectParams & {
id?: string;
enabled?: boolean;
locale?: string;
};
export type MedusaCategoryTransformListContext<TListParams extends MedusaCategoryListInput> = {
params: TListParams;
query: MedusaCategoryListQuery;
response: HttpTypes.StoreProductCategoryListResponse;
};
export type MedusaCategoryTransformDetailContext<TDetailParams extends MedusaCategoryDetailInput> = {
params: TDetailParams;
query: MedusaCategoryDetailQuery;
response: HttpTypes.StoreProductCategoryResponse;
};
export type MedusaCategoryServiceConfig<TCategory, TListParams extends MedusaCategoryListInput, TDetailParams extends MedusaCategoryDetailInput> = {
listPath?: string;
defaultListFields?: string;
defaultDetailFields?: string;
normalizeListQuery?: (params: TListParams) => MedusaCategoryListQuery;
normalizeDetailQuery?: (params: TDetailParams) => MedusaCategoryDetailQuery;
transformCategory?: (category: HttpTypes.StoreProductCategory) => TCategory;
transformListCategory?: (category: HttpTypes.StoreProductCategory, context: MedusaCategoryTransformListContext<TListParams>) => TCategory;
transformDetailCategory?: (category: HttpTypes.StoreProductCategory, context: MedusaCategoryTransformDetailContext<TDetailParams>) => TCategory;
};
/**
* Creates a CategoryService for Medusa Store API.
*
* Uses `/store/product-categories` through `sdk.client.fetch` so query cancellation
* works with `AbortSignal` passed by TanStack Query.
*/
export declare function createMedusaCategoryService<TCategory = HttpTypes.StoreProductCategory, TListParams extends MedusaCategoryListInput = MedusaCategoryListInput, TDetailParams extends MedusaCategoryDetailInput = MedusaCategoryDetailInput>(sdk: Medusa, config?: MedusaCategoryServiceConfig<TCategory, TListParams, TDetailParams>): CategoryService<TCategory, TListParams, TDetailParams>;
export {};
//# sourceMappingURL=medusa-service.d.ts.map