@techsio/storefront-data
Version:
Medusa-first storefront data layer built on TanStack Query.
37 lines • 1.61 kB
TypeScript
import type Medusa from "@medusajs/js-sdk";
import type { HttpTypes } from "@medusajs/types";
import type { CheckoutService } from "./types";
export type MedusaPaymentSessionDataInput = {
cart: HttpTypes.StoreCart;
cartId: string;
providerId: string;
};
export type MedusaPaymentSessionBindingInput = MedusaPaymentSessionDataInput & {
paymentCollection: HttpTypes.StorePaymentCollection;
paymentSessionData: Record<string, unknown> | undefined;
paymentSessionId: string;
};
type MaybePromise<T> = T | Promise<T>;
export type MedusaCheckoutServiceConfig = {
bindPaymentSessionData?: (input: MedusaPaymentSessionBindingInput) => MaybePromise<void>;
cartFields?: string;
buildPaymentSessionData?: (input: MedusaPaymentSessionDataInput) => MaybePromise<Record<string, unknown> | undefined>;
};
/**
* Creates a CheckoutService for Medusa SDK
*
* @example
* ```typescript
* import { createCheckoutHooks } from "@techsio/storefront-data/checkout/hooks"
* import { createMedusaCheckoutService } from "@techsio/storefront-data/checkout/medusa-service"
* import { sdk } from "@/lib/medusa-client"
*
* const checkoutHooks = createCheckoutHooks({
* service: createMedusaCheckoutService(sdk),
* queryKeys: checkoutQueryKeys,
* })
* ```
*/
export declare function createMedusaCheckoutService(sdk: Medusa, config?: MedusaCheckoutServiceConfig): CheckoutService<HttpTypes.StoreCart, HttpTypes.StoreCartShippingOption, HttpTypes.StorePaymentProvider, HttpTypes.StorePaymentCollection, HttpTypes.StoreCompleteCartResponse>;
export {};
//# sourceMappingURL=medusa-service.d.ts.map