UNPKG

@redotech/redo-hydrogen

Version:

Utilities to enable and disable Redo coverage on Hydrogen stores

64 lines (55 loc) 1.72 kB
import { CartReturn, OptimisticCart } from "@shopify/hydrogen"; import { CartWithActionsDocs } from "@shopify/hydrogen-react/dist/types/cart-types"; import { ProductVariant } from "@shopify/hydrogen-react/storefront-api-types"; type CartProductVariantFragment = Omit<ProductVariant, "components" | "metafields" | "quantityPriceBreaks" | "quantityRule" | "requiresComponents" | "requiresShipping" | "storeAvailability" | "taxable" | "weightUnit" >; type CartAttributeKey = string; interface RedoCoverageClient { enable(): Promise<boolean>; disable(): Promise<boolean>; get loading(): boolean; get enabled(): boolean; get eligible(): boolean; get price(): number | undefined; get storeId(): string | undefined; get cart(): CartReturn | CartWithActionsDocs | OptimisticCart | undefined; get cartProduct(): CartProductVariantFragment | undefined; get cartAttribute(): CartAttributeKey | undefined; get errors(): RedoError[] | undefined; } type CartInfoToEnable = { productId: string, variantId: string, cartAttribute: CartAttributeKey, selectedVariant: CartProductVariantFragment } type RedoContextValue = { enabled: boolean, loading: boolean, storeId?: string, cartInfoToEnable?: CartInfoToEnable, cart?: CartReturn | CartWithActionsDocs | OptimisticCart, errors?: RedoError[], }; enum RedoErrorType { ApiBadRequest = "API_BAD_REQUEST", ApiServerError = "API_SERVER_ERROR", ApiUnknownError = "API_UNKNOWN_ERROR" }; type RedoError = { type: RedoErrorType, message: string, context: any }; export { RedoErrorType, } export type { CartAttributeKey, CartInfoToEnable, RedoContextValue, RedoCoverageClient, CartProductVariantFragment, RedoError }