UNPKG

@shopify/hydrogen-react

Version:

React components, hooks, and utilities for creating custom Shopify storefronts

124 lines (123 loc) 3.81 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const require$$0 = require("react"); const cartQueries = require("./cart-queries.js"); const cartHooks = require("./cart-hooks.js"); function useCartActions({ numCartLines, cartFragment, countryCode = "US" }) { const fetchCart = cartHooks.useCartFetch(); const cartFetch = require$$0.useCallback((cartId) => { return fetchCart({ query: cartQueries.CartQuery(cartFragment), variables: { id: cartId, numCartLines, country: countryCode } }); }, [fetchCart, cartFragment, numCartLines, countryCode]); const cartCreate = require$$0.useCallback((cart) => { return fetchCart({ query: cartQueries.CartCreate(cartFragment), variables: { input: cart, numCartLines, country: countryCode } }); }, [cartFragment, countryCode, fetchCart, numCartLines]); const cartLineAdd = require$$0.useCallback((cartId, lines) => { return fetchCart({ query: cartQueries.CartLineAdd(cartFragment), variables: { cartId, lines, numCartLines, country: countryCode } }); }, [cartFragment, countryCode, fetchCart, numCartLines]); const cartLineUpdate = require$$0.useCallback((cartId, lines) => { return fetchCart({ query: cartQueries.CartLineUpdate(cartFragment), variables: { cartId, lines, numCartLines, country: countryCode } }); }, [cartFragment, countryCode, fetchCart, numCartLines]); const cartLineRemove = require$$0.useCallback((cartId, lines) => { return fetchCart({ query: cartQueries.CartLineRemove(cartFragment), variables: { cartId, lines, numCartLines, country: countryCode } }); }, [cartFragment, countryCode, fetchCart, numCartLines]); const noteUpdate = require$$0.useCallback((cartId, note) => { return fetchCart({ query: cartQueries.CartNoteUpdate(cartFragment), variables: { cartId, note, numCartLines, country: countryCode } }); }, [fetchCart, cartFragment, numCartLines, countryCode]); const buyerIdentityUpdate = require$$0.useCallback((cartId, buyerIdentity) => { return fetchCart({ query: cartQueries.CartBuyerIdentityUpdate(cartFragment), variables: { cartId, buyerIdentity, numCartLines, country: countryCode } }); }, [cartFragment, countryCode, fetchCart, numCartLines]); const cartAttributesUpdate = require$$0.useCallback((cartId, attributes) => { return fetchCart({ query: cartQueries.CartAttributesUpdate(cartFragment), variables: { cartId, attributes, numCartLines, country: countryCode } }); }, [cartFragment, countryCode, fetchCart, numCartLines]); const discountCodesUpdate = require$$0.useCallback((cartId, discountCodes) => { return fetchCart({ query: cartQueries.CartDiscountCodesUpdate(cartFragment), variables: { cartId, discountCodes, numCartLines, country: countryCode } }); }, [cartFragment, countryCode, fetchCart, numCartLines]); return require$$0.useMemo(() => ({ cartFetch, cartCreate, cartLineAdd, cartLineUpdate, cartLineRemove, noteUpdate, buyerIdentityUpdate, cartAttributesUpdate, discountCodesUpdate, cartFragment }), [cartFetch, cartCreate, cartLineAdd, cartLineUpdate, cartLineRemove, noteUpdate, buyerIdentityUpdate, cartAttributesUpdate, discountCodesUpdate, cartFragment]); } exports.useCartActions = useCartActions; //# sourceMappingURL=useCartActions.js.map