@techsio/storefront-data
Version:
Medusa-first storefront data layer built on TanStack Query.
42 lines • 1.66 kB
TypeScript
import type Medusa from "@medusajs/js-sdk";
import type { HttpTypes } from "@medusajs/types";
import type { CartService } from "./types";
export type MedusaCartServiceConfig = {
cartFields?: string;
isNotFoundError?: (error: unknown) => boolean;
};
export type MedusaCartCreateParams = HttpTypes.StoreCreateCart;
export type MedusaCartUpdateParams = HttpTypes.StoreUpdateCart;
export type MedusaCartAddItemParams = HttpTypes.StoreAddCartLineItem;
export type MedusaCartUpdateItemParams = HttpTypes.StoreUpdateCartLineItem;
export type MedusaCompleteCartResult = {
type: "order";
order: HttpTypes.StoreOrder;
} | {
type: "cart";
cart: HttpTypes.StoreCart;
error: {
message: string;
name: string;
type: string;
};
};
/**
* Creates a CartService for Medusa SDK
*
* @example
* ```typescript
* import { createCartHooks } from "@techsio/storefront-data/cart/hooks"
* import { createMedusaCartService } from "@techsio/storefront-data/cart/medusa-service"
* import { createLocalStorageValueStore } from "@techsio/storefront-data/shared/storage-value-store"
* import { sdk } from "@/lib/medusa-client"
*
* const cartHooks = createCartHooks({
* service: createMedusaCartService(sdk),
* queryKeys: cartQueryKeys,
* cartStorage: createLocalStorageValueStore({ key: "cart_id" }),
* })
* ```
*/
export declare function createMedusaCartService(sdk: Medusa, config?: MedusaCartServiceConfig): CartService<HttpTypes.StoreCart, MedusaCartCreateParams, MedusaCartUpdateParams, MedusaCartAddItemParams, MedusaCartUpdateItemParams, MedusaCompleteCartResult>;
//# sourceMappingURL=medusa-service.d.ts.map