@shopify/hydrogen-react
Version:
React components, hooks, and utilities for creating custom Shopify storefronts
124 lines (123 loc) • 3.81 kB
JavaScript
"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